精华内容
下载资源
问答
  • ajax如何处理json数据格式 ①json的格式如下: "{属性名:属性值,属性名:属性值}"。 因为json数据是原生态,因此这种数据格式很稳定,而且描述能力很强,我们建议使用json数据。 register.php <!DOCTYPE ...

    json只是一种文本字符串。

    Smarty是一个使用PHP写出来的模板引擎

    ajax如何处理json数据格式

    ①json的格式如下:

    "{属性名:属性值,属性名:属性值}"。

    因为json数据是原生态的,因此这种数据格式很稳定,而且描述能力很强,我们建议使用json数据。

    register.php

    <!DOCTYPE html>
    <html>
    <head>
    <title>用户注册</title>
    <meta charset="utf-8">
    <script language="javascript" type="text/javascript" >
        //创建ajax引擎
        function getXmlHttpObject(){
        
            var xmlHttpRequest;
            //不同浏览器获取xmlHttpRequest对象方法不一样
            if(window.ActiveXObject){
                //window.alert("ie");
                xmlHttpRequest=new ActiveXObject("Microsoft.XMLHTTP");
            }else{
                //window.alert("no ie");
                xmlHttpRequest=new XMLHttpRequest();
            }
            return xmlHttpRequest;
        }
        
        
        var myXmlHttpRequest="";
        //验证用户名是否存在
        function checkName(){
            
            myXmlHttpRequest=getXmlHttpObject();
            //怎么判断创建ok
            if(myXmlHttpRequest){
                var url="/registerProcess.php";
                //这个是要发送的数据
                var data="username="+$("username").value;
                //打开请求,准备发送,,true表示同步处理
                myXmlHttpRequest.open("post", url, true);
                //还有一句话,这句话必须
                //在编程过程中,建议用Post,post会更好一些
                myXmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
                //指定回调函数.chuli是函数名
                myXmlHttpRequest.onreadystatechange=chuli;
                
                //真的发送请求,如果是get请求则填入 null即可
                //如果是post请求,则填入实际的数据
                myXmlHttpRequest.send(data);
                //状态改变的触发器
                //myXmlHttpRequest.open("get");
            }else{
                //window.alert("创建失败");
            }
            
        }
        
        //回调函数
        function chuli(){
            //window.alert("处理函数被调回"+myXmlHttpRequest.readyState);
            //我要取出从regiseterPro.php页面返回的数据
            if(myXmlHttpRequest.readyState==4){
                var mes=myXmlHttpRequest.responseText;
                //window.alert(mes);
                //使用eval函数将mes字串,转成对应的对象
                var mes_obj=eval("("+mes+")");
                /*window.alert(mes_obj.res);
                window.alert(mes_obj.id);
                window.alert(mes_obj.date);*/
                $("myres").value=mes_obj.res;
            }
        }
        
        function $(id){
            return document.getElementById(id);
        }
        
    </script>
    </head>
    <body>
    <form >
    
    用户名字<input type="text" name="username1" id="username" /><input type="button" value="验证用户名" οnclick="checkName()"/>
    <input type="text" style="border-width:0;color:red" id="myres"/>
    <br/>
    用户密码<input type="password" name="password" id="password"/><br/>
    电子邮件<input type="text" name="email" id="email"/><br/>
    <input type="submit" value="用户注册"/><br/><br/>
    
    
    
    用户名字<input type="text" name="username1" />
    <input type="text" style="border-width:0;color:red"/>
    <br/>
    用户密码<input type="password" name="password"/><br/>
    电子邮件<input type="text" name="email"/><br/>
    <input type="button" value="用户注册"/>
    
    </form>
    </body>
    
    </html>

    registerProcess.php

    <?php 
        //这里两句话很重要,第一句话告诉浏览器返回的数据是xml格式
        header("Content-type: text/html; charset=utf-8");
        //如果这里写成Content-type: text/html,会报错,得不到数据
        //告诉浏览器不要缓存数据
        header("Cache-Control:no-cache");
        //接收数据(这里要和请求方式对应 _POST 还是 _GET
        $username=$_POST['username'];
    
        $info="";
        if($username=="shunping"){
            $info='{"res":"该用户不可以用","id":"a001","date":"2011-11-11"}';//注意,这里数据是返回给请求的页面
        }else if($username!=""){
            $info='{"res":"该用户可以用","id":"a001","date":"2011-11-11"}';
        }
        echo $info;
    
    
    ?>

    JSON(Javascript Object Notation)一种简单地数据格式,比xml更轻巧。

    JSON是JavaScript原生格式,这意味着在javascript中处理JSON数据不需要任何特殊的API或工具包。

    JSON数据格式很严格。

    JSON的规则很简单:对象是一个无序的“”名称/值‘对’集合。

    var mes=eval("("+'{"res":"该用户可以用","id":"a001","date":"2011-11-11"}'+")");
        window.alert(mes.res);
        //该代码可以运行

    如同:

    var mes_obj=eval("("+mes+")");
    window.alert(mes_ob.res);

    访问一组json数据。

    var dogs=[{"name":"小明","age":"8"},{"name":"小狗","age":"3"}];
        window.alert(dogs[0].name);
        window.alert(dogs[0].age);
    
        window.alert(dogs[1].name);
        window.alert(dogs[1].age);

    ②json数据格式的扩展

    如果服务器返回的json是多组数据,则格式应当如下:

    $info="[{"属性名":"属性值",....},{"属性名":"属性值",....},...]";

    在xmlhttprequest对象接收到json数据后,应当这样处理

    //转成对象数组
    var reses=eval("("+xmlhttprequest.responseText+")");
    //通过reses可以取得你希望的任何一个值
    
    reses[i].属性值

    复杂的json数据读取

    var people={
            "programmers":
            [
                {"firstName":"Brett", "email":"brett@"},
                {"firstName":"Jason", "email":"jason@"}
            ],
            "writer":
            [
                {"writer1":"宋江","age":"50"},
                {"writer2":"吴用","age":"30"}
            ],
            "sex":"男"
    };
    
        window.alert(people.programmers[0].firstName);
        window.alert(people.writer[1].age);
        window.alert(people.sex);

    register.php

    <!DOCTYPE html>
    <html>
    <head>
    <title>用户注册</title>
    <meta charset="utf-8">
    <script language="javascript" type="text/javascript" >
        //创建ajax引擎
        function getXmlHttpObject(){
        
            var xmlHttpRequest;
            //不同浏览器获取xmlHttpRequest对象方法不一样
            if(window.ActiveXObject){
                //window.alert("ie");
                xmlHttpRequest=new ActiveXObject("Microsoft.XMLHTTP");
            }else{
                //window.alert("no ie");
                xmlHttpRequest=new XMLHttpRequest();
            }
            return xmlHttpRequest;
        }
        
        
        var myXmlHttpRequest="";
        //验证用户名是否存在
        function checkName(){
            
            myXmlHttpRequest=getXmlHttpObject();
            //怎么判断创建ok
            if(myXmlHttpRequest){
                var url="/registerProcess.php";
                //这个是要发送的数据
                var data="username="+$("username").value;
                //打开请求,准备发送,,true表示同步处理
                myXmlHttpRequest.open("post", url, true);
                //还有一句话,这句话必须
                //在编程过程中,建议用Post,post会更好一些
                myXmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
                //指定回调函数.chuli是函数名
                myXmlHttpRequest.onreadystatechange=chuli;
                
                //真的发送请求,如果是get请求则填入 null即可
                //如果是post请求,则填入实际的数据
                myXmlHttpRequest.send(data);
                //状态改变的触发器
                //myXmlHttpRequest.open("get");
            }else{
                //window.alert("创建失败");
            }
            
        }
        
        //回调函数
        function chuli(){
            //window.alert("处理函数被调回"+myXmlHttpRequest.readyState);
            //我要取出从regiseterPro.php页面返回的数据
            if(myXmlHttpRequest.readyState==4){
                var mes=myXmlHttpRequest.responseText;
                
                //使用eval函数将mes字串,转成对应的对象
                var mes_obj=eval("("+mes+")");
                //取出第一组信息的res
                /*window.alert(mes_obj[1].id);
                $("myres").value=mes_obj[0].res;*/
                //window.alert(mes_obj[1].age);
                //如果你希望遍历返回的json数据
                for(var i=0;mes_obj.length;i++){
                    window.alert(mes_obj[i].res);
                }
            }
        }
        
        function $(id){
            return document.getElementById(id);
        }
        
    </script>
    </head>
    <body>
    <form >
    
    用户名字<input type="text" name="username1" id="username" /><input type="button" value="验证用户名" οnclick="checkName()"/>
    <input type="text" style="border-width:0;color:red" id="myres"/>
    <br/>
    用户密码<input type="password" name="password" id="password"/><br/>
    电子邮件<input type="text" name="email" id="email"/><br/>
    <input type="submit" value="用户注册"/><br/><br/>
    
    
    
    用户名字<input type="text" name="username1" />
    <input type="text" style="border-width:0;color:red"/>
    <br/>
    用户密码<input type="password" name="password"/><br/>
    电子邮件<input type="text" name="email"/><br/>
    <input type="button" value="用户注册"/>
    
    </form>
    </body>
    
    </html>

    registerProcess.php

    <?php 
        //这里两句话很重要,第一句话告诉浏览器返回的数据是xml格式
        header("Content-type: text/html; charset=utf-8");
        //如果这里写成Content-type: text/html,会报错,得不到数据
        //告诉浏览器不要缓存数据
        header("Cache-Control:no-cache");
        //接收数据(这里要和请求方式对应 _POST 还是 _GET
        $username=$_POST['username'];
    
        $info="";
        if($username=="shunping"){
            $info='[{"res":"该用户不可以用","id":"a001","date":"2011-11-11"},{"age":"该用户不可以用","id":"a005","date":"2011-11-11"}]';//注意,这里数据是返回给请求的页面
        }else if($username!=""){
            $info='[{"res":"该用户可以用","id":"a001","date":"2011-11-11"},{"res":"该用户可以用","id":"a001","date":"2011-11-11"}]';
        }
        echo $info;
    
    
    ?>

    json格式小结

    优点:

    ①作为一种数据传输格式,JSON与XML很相似,但是它更加轻巧。

    ②json不需要从服务器发送含有特定内容类型的首部信息。

    缺点:

    ①语法过于严谨

    ②eval函数存在风险

    小结

    当一个ajax请求到服务器,服务器可以根据需求返回  三种格式的数据,那么我们应当选择哪一个?

    1.如果你的项目经理没有特殊要求,建议使用json

    2.如果数据需要重用,JSON文件是个不错的选择,其在性能和文件大小方面有优势

    3.当远程应用程序未知时,XML文档是首选,因为XML是web服务领域的世界语。

    4.若应用程序不需要与其他应用程序共享数据的时候,使用HTML片段来返回数据是最简单的。

    xml是最通用的一种数据格式。

     

    转载于:https://www.cnblogs.com/liaoxiaolao/p/9817322.html

    展开全文
  • java通过调取接口 返回带有时间戳的JSON数据, 如何通过时间戳处理数据, 比如我要 查询2016-6-00到2016-7-00 中间的数据 所有数据都有返回
  • 后台返回的json数据格式: { "state": true, "data": { "id": 0, "name": "testAjax"'"sex": null, "csny": null, "mz": null, "byxx": null, "sfzh": nu...

    后台返回的json数据格式:

    {
        "state": true,
        "data": {
            "id": 0,
            "name": "testAjax"'"sex": null,
            "csny": null,
            "mz": null,
            "byxx": null,
            "sfzh": null,
            "yhtc": null,
            "hjszd": null,
            "jtzz": null,
            "jtlxdh": null,
            "fqxm": null,
            "fqgzdw": null,
            "fqlxdh": null,
            "mqxm": null,
            "mqgzdw": null,
            "mqlxdh": null,
            "szjxbgdpj": null,
            "qmszcp": null,
            "zhszpjjg": null,
            "bz": null,
            "bzy": null,
            "bze": null,
            "xjh": null,
            "img": null,
            "mm": null,
            "remm": null,
            "timeStamp": 0,
            "wordFilePath": null
        },
        "msg": "success"
    }

     

    前台发的ajax请求:

    function tj() {
            $.ajax({
                type : "POST",
                url : "fdzx/ajaxData",
                data: "name=John&location=Boston",
                success : function(data) {
                    alert("Data Saved:  state:" + data.state+",name:"+data.data.name+",msg:"+data.msg);
                }
            });
        }

     

    效果图:

     

    转载于:https://www.cnblogs.com/jack1208-rose0203/p/6698571.html

    展开全文
  • 需要jar包是struts2.1.8,json插件就是2.1.8struts2-json-plugin-2.1.8.1,因为json的第三方插件有很多,例如json-lib-2.4-jdk15和json虽然说可以实现json的处理,但是相对来说可能是有点麻烦,而S2自带插件为...

    需要的jar包是struts2.1.8,json插件就是2.1.8struts2-json-plugin-2.1.8.1,因为json的第三方插件有很多,例如json-lib-2.4-jdk15json虽然说可以实现json的处理,但是相对来说可能是有点麻烦,而S2自带的插件为简单一点。

     实例:(分页查询和添加)

     

     

     

    Struts.xml

    <packagename="default"extends="json-default">

    <actionname="fieldManage_*"method="{1}"lass="fieldManageAction">

           <resulttype="json">

               <paramname="includeProperties">totalCount,data.*</param>

           </result>

           <resultname="operaFieldmanage"type="json">

               <paramname="includeProperties">success</param>

           </result>

           </action>

    </package>

    extends=”json-default”这边必须这样设置才能处理json

    1.<action name="test" class="com.TestAction" method="test">  

      <result type="json" /><!--actionbean属性以json字符串返回浏览器-->  

      </action>

    2.只要继承extends="json-default"json拦截器是默认配置上的,可以不配。result设置成json之后,容器会把action的属性自动封装到一个json对象中(json拦截器来做),然后调用jscallback方法.返回json数据

    3.如果按照1中的配置。你会发现前台返回的json字符串,是把action中的所有属性全部转化为json字符串返回给浏览器了(甚至有时候返回不了结果,也不报错,后台执行了,但前台执行不到callback function),但是我们有时候需要根据实际情况返回部分结果,如何对json的结果进行定制输出呢?result提供了一些参数替你解决这个问题,一般情况下用的最多的就是includeProperties参数和excludeNullProperties参数。当然还有其他的方法,如给pojo的属性加json注解。

    4.includeProperties参数:输出结果中需要包含的属性值,这里正则表达式和属性名匹配,可以用“,”分割填充多个正则表达式。这个参数直接返回对象的json数据,前台不需要eval转换,<param name="root">result</param>则不同,需要前台进行eval转换

    如:输出data对象下面的所有属性总条数。

    <resulttype="json">

       <paramname="includeProperties">totalCount,data.*</param>//*表示多值如Map,[]

    </result>

    5.excludeProperties参数:输出结果需要剔除的属性值,也支持正则表达式匹配属性名,可以用“,”分割填充多个正则表达式,类同includeProperties

    6.对一些属性的特殊处理可在action代码中去特殊的序列化,如:

    [6.1]默认情况下以get方法开头的都会序列化,如果不想序列化,action中的方法要打上注解
    @JSON(serialize=false)

    [
    6.2]如果在属性get方法上面加@JSON(name="newName"),则返回的json数据中名称是指定的新名称


    [
    6.3]@JSON(format ="yyyy-MM-dd'T'HH:mm:ss")设置用于格式化输出、解析日期表单域的格式。

    [
    6.4]@JSON(deserialize=true)设置是否反序列化该属性

    注意:为了避免不必要的麻烦,action里面要有有get开头的方法


    js获取json值

     //使用JSON对象将服务器响应解析成JSON对象

                        var res = JSON.parse(request.responseText);

                        //遍历JSON对象的每个属性

                        for(var propName in res)

                        {

                            $("show").innerHTML += propName + " --> "

                                + res[propName] + "<br />";

                        }

    数组代替数组集合 Map[] users=new Map[100]

    ,用map代替object Map obj1=new HashMap();

    obj1.put("id",val);

    obj1.put("name",val);

    obj1.put("sex",val);

    users[0]=obj1;

    users[1]=obj2;...

     

     var users=res["users"];

                        for(var j=0;j<users.length;j++){

    alert("id:"+users[j]["id"]+",name:"+users[j]["name"]);

    }

     

    展开全文
  • 打印出来的json是{"cityList":[{"create_date":"2013-09-04","cityID":"320200","modify_date":"2013-09-04","c_id":75,"father":"320000","city":"无锡市"},{"create_date":"2013-09-04","cityID":"320400","modify...
  • 服务器返回数据的json处理

    千次阅读 2017-07-21 16:38:03
    服务器返回数据的json处理 springMVC JSP响应流程 请求 -->DispatcherServlet -->HandlerMapping -->Controller --Jsp响应 JSON响应流程 请求 -->DispatcherServlet -->HandlerMapping -->Controller -->Json响应 ...

    服务器返回数据的json处理

    springMVC JSP响应流程 请求 -->DispatcherServlet -->HandlerMapping -->Controller --Jsp响应

    JSON响应流程 请求 -->DispatcherServlet -->HandlerMapping -->Controller -->Json响应

    如何实现Json处理

    • 导包 Jackson
    • 配置文件 web.xml spring-mvc.xml
    • 在返回数据的方法上使用@ResponseBody
    jackson包含三个jar包如下:

    ===================================

    @ResponseBody作用:

    该注解用于将Controller的方法返回的对象,通过HttpMessageConverter接口转换为指定格式的数据如:json,xml等,通过Response响应给客户端

    案例如下:在springMVC中使用jackson
    ----------------------------------------------------------------------------------------------------------
    配置文件:web.xml
      <!-- 前端控制器 -->
      <servlet>
        <servlet-name>mvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
         <param-name>contextConfigLocation</param-name>
         <param-value>classpath:spring-*.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>mvc</servlet-name>
        <url-pattern>*.do</url-pattern>
      </servlet-mapping>

    spring配置文件:spring-mvc.xml
    <!-- 启动mvc注解的驱动 -->
    	<mvc:annotation-driven />
    	
    	<!-- 组件扫描(多个包通过逗号隔开)-->
    	<context:component-scan base-package="cn.tedu" />

    实体类:User
    package cn.tedu.entity;
    
    import java.io.Serializable;
    
    public class User implements Serializable {
    	private int id;
    	private String name;
    	private String age;
    	public User(int id, String name, String age) {
    		this.id = id;
    		this.name = name;
    		this.age = age;
    	}
    	public int getId() {
    		return id;
    	}
    	public void setId(int id) {
    		this.id = id;
    	}
    	public String getName() {
    		return name;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    	public String getAge() {
    		return age;
    	}
    	public void setAge(String age) {
    		this.age = age;
    	}
    	@Override
    	public String toString() {
    		return "User [id=" + id + ", name=" + name + ", age=" + age + "]";
    	}
    	
    }
    

    Controller组件:
    package cn.tedu.controller;
    
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    
    import cn.tedu.entity.User;
    
    @Controller
    public class JsonController {
    	
    	/*返回一个对象*/
    	@RequestMapping("/json1.do")//匹配请求
    	@ResponseBody //调用jackson(比如异步获取json数据,加上@responsebody后,会直接返回json数据)
    	public User loadUser(){
    		User user = new User(1,"Jack","20");
    		return user;
    	}
    	
    	/*返回集合*/
    	@RequestMapping("/json2.do")
    	@ResponseBody
    	public List<User> loadUsers(){
    		List<User> list = new ArrayList<User>();
    		User user1 = new User(1,"Tom_1","18");
    		User user2 = new User(1,"二蛋","88");
    		list.add(user1);
    		list.add(user2);
    		return list;
    	}
    	
    	/*返回Map*/
    	@RequestMapping("/json3.do")
    	@ResponseBody
    	public Map<String,Object> loadData(){
    		Map<String,Object> map = new HashMap<String,Object>();
    		map.put("id", 1);
    		map.put("name", "狗蛋");
    		return map;
    	}
    	
    	/*返回字符串*/
    	@RequestMapping("/json4.do")//匹配请求
    	@ResponseBody 
    	public String loadStr(){
    		String str = "Hello World";
    		return str;
    	}
    }
    

    测试:
    请求(一):http://localhost:8080/springmvc-json/json1.do
    网页显示:
    {"id":1,"name":"Jack","age":"20"}
    -------------------------------------------------------------------------------------
    请求(二):http://localhost:8080/springmvc-json/json2.do
    网页显示:
    [{"id":1,"name":"Tom_1","age":"18"},{"id":1,"name":"二蛋","age":"88"}]
    -------------------------------------------------------------------------------------
    请求(三):http://localhost:8080/springmvc-json/json3.do
    网页显示:
    {"name":"狗蛋","id":1}
    -------------------------------------------------------------------------------------
    请求(四):http://localhost:8080/springmvc-json/json4.do
    网页显示:
    Hello World


    展开全文
  • python接口测试响应的json如何处理

    千次阅读 2018-11-01 07:31:35
    第一种:返回信息是这样 {"msg":"验证失败,请重新拖动验证码","code":2202} 可以这样处理: print json.loads(r.text)['msg'] 得到输出:(是正确纯文字哦) 验证失败...
  • 以下是小弟一点研究成果,拿来和大家分享,我用了3到4中struts2操作json找了一种我认识最合理和最简单,最下面有引用网上资料,因为都一样就没有必要赘述了,上面都是我自己实例,如有错误请大家指正。...
  • 在application.yml文件中配置jackson:date-format 使用前: 使用后:
  • 一、返回 1.使用JsonResponse返回 ... response = {'cmd':'ACK' + cmd} return JsonResponse(response) 2.使用JSONRenderer转换数据格式 ...json_data = JSONRenderer().render({'cmd':'ACKinfo'}) retur
  • Tkinter使用filedialog读入JSON文件返回文件流如何处理 **目的:**把文件流转换成Python易于处理List或字典,便于将来遍历,插入MongoDB 代码如下: ```python def openfile(): file_in=tkinter....
  • jquery easyui form组件load方法中返回的json带有单引号如何处理? 方法调用是这样的: $("#organNodeForm").form("load", controller.action?resource=organ&act=getOrgan&orgId=" + node.id); 当返回的json...
  • 返回的JSON数据,前面有{“0”:{,如何处理掉啊? 数据结构如下: {“0”:{“dept_name”:“11111111”,“dept_id”:“0”,“dept_up_dept”:null,“dept_up_dept_id”:“root”,“children”:[{“dept_name”:...
  • 最近在使用JQuery的ajax方法时,要求返回的数据为json数据,在处理的过程中遇到下面的几个问题,那就是采用不同的方式来生成json数据的时候,在$.ajax方法中应该是如何处理的,下面依次来进行说明,由于本人使用的...
  • 后端一般为了方便,直接输出app端请求结果的json信息,一般后台为了方便,会返回Null,但是这么做让app端需要多处理处理掉Null值,或者赋默认值给Null的字段, 我这里处理的是,给字段值为Null的字段复制字符串...
  • 如上 现在我需要将返回的json解析, 并将解析后的值用jquery设置给文本框的value <input type="text" id="txt1" /> <input type="text" id="txt2" /> <input type="text" id="txt3" /> <...
  • 1. 返回json字符串如何处理 $.ajax({ url:xxx, success:function(date){ }, error:function(){ } }); 通过最原始的返回: PrintWriter out =httpServletResponse.getWriter(); ObjectMapper mapper...
  • spring mvc中有一个注解:@ResponseBody,把这个注解放到ajax请求对应的@RequestMapping(xxx)方法上,在方法体内部,把要返回的json赋给一个String类型的变量,然后return这个变量即可,例子如下: @...
  • 最近在使用JQuery的ajax方法时,要求返回的数据为json数据,在处理的过程中遇到下面的几个问题,那就是采用不同的方式来生成json数据的时候,在$.ajax方法中应该是如何处理的,下面依次来进行说明,由于本人使用的...
  • ajax请求返回Json格式数据,在网上有很多的处理方法,本文教大家如何循环输出成table形式,代码很详细,感兴趣朋友可以参考下

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 772
精华内容 308
关键字:

返回的json如何处理