2015年10月28日 json深切感受

    昨天稍微总结了一下对json的认识,今天用起来,才知道自己其实对json数据格式什么都不懂,对json最基本的json字符串、数组、对象这些都有点傻傻分不清!今天要将前端的十几个字段拼成json对象,再转换成json字符串传到后台,最后还要对后台传回来的json字符串进行解析调用!记录一下关键点吧!

    1、自定义json对象时,采取了类似以下方式

     var i = 0;

     var name = "name" + i;

     jsonObj = {name: "123", name:  "456"};

     json对象jsonObj中的name在传到后台的时候不会是name0,而是name字符串,就是说定义时json对象中的key不能是变量!

    2、json字符串转换成json对象时,一般可以用eval函数,但当转换成的对象有多个时,使用这个函数只能得到第一个,可以使用以下的方法去遍历(明天补上,手机码字太要命了o(╯□╰)o)

--------------------------------------------------------------这里是分割线----------------------------------------------------------------------------------------

  如当在js页面取到后台的json字符串是这样的形式时:

    var respone ={data:[{"name1":"aaa","name2":"bbb","name3":"ccc"},

        {"name4":"aaa","name5":"bbb","name6":"ccc"},

        {"name7":"aaa","name8":"bbb","name9":"ccc"},

        {"name10":"aaa","name11":"bbb","name12":"ccc"},

        {"name13":"aaa","name14":"bbb","name15":"ccc"},

        {"name16":"aaa","name17":"bbb","name18":"ccc"}]}

    可以这样处理:var result = eval("(" + respone + ")");

           $.each(result, function(index, jsonObj){

              $.each(jsonObj, function(objIndex, obj){

                $.each(obj, function(key, value){

                   alert("key= "+ key ); //遍历显示key值,如"name1"、"name2"等

                   alert("value= " + value ); //遍历显示value, 如"name1"对应的"aaa"、"name2"对应的"bbb"等

                  })

                })

            })

原文地址:https://www.cnblogs.com/iamDarren/p/4919230.html