Json串到json对象的转换

JSON(JavaScript Object Notation)html

是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptStandard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用彻底独立于语言的文本格式。jquery

更多内容请见:http://www.json.org/json

 

(一)标准格式函数

 
function JsonFormatting() {
    var jsonString = '{"Unid":"1","CustomerName":"宋江","Age":"33"}';
    var jsonObject = eval('(' + jsonString + ')');
    var tt = '';
    $.each(jsonObject,function(k, v){
        tt += k + ":" + v+"<br/>";
      });
      $("#divmessage").html(tt); }

 

这种写法就是key值用双引号包围。这种格式能够叫作json串。经过eval函数将json串转换为json对象。spa

(二)简写格式code

  function JsonFormatting() {
    var jsonString = '{Unid:"1",CustomerName:"宋江",Age:"33"}';
    var jsonObject = eval('(' + jsonString + ')');
    var tt = '';
    $.each(jsonObject,function(k, v) {
        tt += k + ":" + v+"<br/>";
    });
    $("#divmessage").html(tt); 
}

 

这种写法就是key值省略引号。orm

经过eval函数将json串转换为json对象,而后能够经过两种方法访问:htm

1)点语法对象

Object.Property索引

var jsonString = '{"Unid":"1","CustomerName":"宋江","Age":"33"}';
var jsonObject = eval('(' + jsonString + ')');
alert(jsonObject.CustomerName);


 

(2)键值对索引

Object[key]

var jsonString = '{"Unid":"1","CustomerName":"宋江","Age":"33"}';
var jsonObject = eval('(' + jsonString + ')');
alert(jsonObject["CustomerName"]);

 

说明一下eval函数,它能够把一个字符串看成一个JavaScript表达式同样去执行。

eval函数接收一个参数s,若是s不是字符串,则直接返回s。不然执行s语句。若是s语句执行结果是一个值,则返回此值,不然返回undefined。对象声明语法“{}”并不能返回一个值,须要用括号括起来才会返回值。

 function EvalTest() {
    var code1 = '"a" + 2';    
    //表达式
    var code2 = '{a:2}';      
    //语句
    alert(eval(code1));     
    //输出a2
    alert(eval(code2));     
    //输出undefined
    alert(eval('(' + code2 + ')')); 
    //输出[object Object]
}

 

对于对象声明语句来讲,仅仅是执行,并不能返回值。为了返回经常使用的“{}”这样的对象声明语句,必须用括号括住,以将其转换为表达式,才能返回其值。 

jquery添加从json串到json对象的转换方法。

打开库,找到jQuery.extend({

添加方法

jsonToObject: function(a) {     
   return eval('(' + a + ')');
},

 

使用以下:

var jsonString = '{"Unid":"1","CustomerName":"宋江","Age":"33"}';
var jsonObject =  $.jsonToObject(jsonString);
alert(jsonObject["CustomerName"]);

 

其中jsonStringjson串,而jsonObjectjson对象

相关文章
相关标签/搜索