//当中str正是满意本标题描述的字符串,不能够一向运用

在WEB数据传输进度中,json是以文件,即字符串的轻量级方式传递的,而客户端壹般用JS操作的是吸收接纳到的JSON对象,所以,JSON对象和JSON字符串之间的互动转换、JSON数据的辨析是根本。

1、JSON字符串转换为JSON对象

先鲜明二个概念例如:

A:eval函数

eval函数能够直接将真相符合可能近似符合JSON格式的字符串转换为JSON对象,使用方法如:

eval(‘(‘ + str + ‘)’); //当中str正是满意本题目描述的字符串

图片 1

    //由JSON字符串转换为JSON对象

    var str='{ "name": "John" }';
    var obj = eval('(' + str + ')'); 
    alert( obj.name);

    var str2="{ 'name': 'John' }";
    var obj2 = eval('(' + str2 + ')'); 
    alert( obj2.name);

    var str3="{ name: 'John' }";
    var obj3 = eval('(' + str3 + ')'); 
    alert( obj3.name);

图片 2

上述均会输出结果“john”。

伊娃l格局得以转移以下标准和非标准化准格式字符串:

   var str="{ 'name': 'John' }";
   var str2='{ "name": "John" }';
   var str3="{ name: 'John' }";

参见本例下载包中:Jquery德姆o一.html

 

JSON字符串:

B:parseJSON函数

另一种将正式字符串转换为JSON对象的函数是parseJSON(),使用方法如jQuery.parseJSON(str)//在那之中str就是满足本标题描述的字符串

    //由JSON字符串转换为JSON对象

    var str='{ "name": "John" }';
    var obj = jQuery.parseJSON(str)
    alert("1"+ obj.name);

上述均会输出结果“john”。

此种情势仅支持标准格式:var str='{ “name”: “John” }’;

参见本例下载包中:Jquery德姆o2.html

 

var str1 = '{ "name": "deyuyi", "sex": "man" }';

C:JSON.parse函数

还有一种将正式字符串转换为JSON对象的函数是JSON.parse(),使用方法如JSON.parse(str)//个中str正是满意本标题描述的字符串

        var str = '{ "name": "mady", "age": "24" }';
        var obj = JSON.parse(str);
        alert(obj.name);

上述均会输出结果“john”。

此种方式仅援助标准格式:var str='{ “name”: “约翰” }’;

参见本例下载包中:Jquery德姆o3.html

 

如上结果一致,均输出姓名,如下图:

图片 3

 

特别注意:如若obj本来正是2个JSON对象,那么使用eval()函数转换后(哪怕是多次变换)依旧JSON对象,不过采纳parseJSON()函数处理后会有标题(抛出语法万分)。

JSON对象:

D:Other方式

 

假如不禁想犯错,12分不胜想解析非标准化准、非正规字符串,如:

      {name:mady,age:23}

或者

      {name:’mady’,age:23}

以及别的的您能体会领悟的各样本质正确的专断格式,那么有恢宏库能够消除

jquery-json 扩展库

下载地址在此处:http://code.google.com/p/jquery-json/

本条库用来扩大 jQuery ,对于 JSON
的使用,扩充了五个函数:toJSONparseJSON

toJSON 函数用来将三个家常的 JavaScript 对象连串化为 JSON 对象。

parseJSON函数用来将二个平淡无奇的 JavaScript 对象种类化为 JSON 对象too。

图片 4

      var data=$.toJSON({ x: 2, y: 3 }); 

      var obj = jQuery.parseJSON(data); 

      alert(obj.x); 

      var str = {plugin: 'jquery-json', version: 2.3}; 

      var data2=$.toJSON(str); 

      var obj2 = jQuery.parseJSON(data2); 

      alert(obj2.plugin);

图片 5

 

var str2 = { "name": "deluyi", "sex": "man" };

二、将JSON对象转换为字符串

能够接纳toJSONString()或然全局方法JSON.stringify()将JSON对象转化为JSON字符串。

例如:

var last=obj.toJSONString(); //将JSON对象转化为JSON字符

或者

var last=JSON.stringify(obj); //将JSON对象转化为JSON字符

alert(last);

 

3、解析读取JSON

作者们因此各样法子将字符串转换为JSON对象后正是分析他了。

如上边的例子:

      var str2 = { "name": "mady", "sex": "man" };

就足以如此读取:

      alert(str2.name);//和C#一样直接往出点…

弹出” mady”。

小编们相见的JSON很少有如此简单的,比如复杂一点的JSON对象如:

      var str={"GetUserPostByIdResult":{"Age":"33","ID":"2server","Name":"mady"}};

解析用:

      alert(str.GetUserPostByIdResult.Name);//一次点不出来,我多点几次

弹出:”mady”。

再再复杂一点的如:

      var data=" { root: [ {'name':'6200','value':'0'}, {'name':'6101','value':'xa'}, {'name':'6102','value':'beijing'}, {'name':'6103','value':'haerbin'}]}";

若是您想单挑的话,解析用:

      alert(dataObj.root[0].name);

弹出:“6200”。

假若你想群挑的话,解析用:

      $.each(dataObj.root, function(index, item) {
            $("#info").append(
                    "<div>" +index+":"+ item.name + "</div>" + 
                    "<div>" +index+":"+ item.value + "</div><hr/>");
        });

转自:http://www.cnblogs.com/madyina/p/3448518.html

可以归纳那样敞亮:

JSON对象是一贯能够选择JQuery操作的格式,如C#中能够用对象(类名)点出属性(方法)一样;

JSON字符串仅仅只是三个字符串,一个完好,不截取的话不能够取出当中蕴藏的多少,不可能直接使用,除非你只想alert()他;

 

1、JSON字符串转换为JSON对象

 

要选择方面的str一,必须使用上边包车型大巴形式先转化为JSON对象:

 

A:eval函数

eval函数能够平素将真相符合或然近似符合JSON格式的字符串转换为JSON对象,使用格局如:

eval(‘(‘ + str + ‘)’); //当中str正是满意本标题描述的字符串

图片 6

    //由JSON字符串转换为JSON对象

    var str='{ "name": "John" }';
    var obj = eval('(' + str + ')'); 
    alert( obj.name);

    var str2="{ 'name': 'John' }";
    var obj2 = eval('(' + str2 + ')'); 
    alert( obj2.name);

    var str3="{ name: 'John' }";
    var obj3 = eval('(' + str3 + ')'); 
    alert( obj3.name);

图片 7

以上均会输出结果“john”。

伊娃l格局能够变换以下标准和非标准化准格式字符串:

   var str="{ 'name': 'John' }";
   var str2='{ "name": "John" }';
   var str3="{ name: 'John' }";

参见本例下载包中:Jquery德姆o1.html

 

B:parseJSON函数

另一种将正式字符串转换为JSON对象的函数是parseJSON(),使用办法如jQuery.parseJSON(str)//个中str正是满足本标题描述的字符串

    //由JSON字符串转换为JSON对象

    var str='{ "name": "John" }';
    var obj = jQuery.parseJSON(str)
    alert("1"+ obj.name);

如上均会输出结果“john”。

此种格局仅扶助标准格式:var str='{ “name”: “John” }’;

参见本例下载包中:Jquery德姆o二.html

 

C:JSON.parse函数

再有一种将正式字符串转换为JSON对象的函数是JSON.parse(),使用情势如JSON.parse(str)//在那之中str就是满意本标题描述的字符串

        var str = '{ "name": "mady", "age": "24" }';
        var obj = JSON.parse(str);
        alert(obj.name);

如上均会输出结果“john”。

此种情势仅帮忙标准格式:var str='{ “name”: “John” }’;

参见本例下载包中:Jquery德姆o三.html

 

以上结果同样,均输出姓名,如下图:

图片 8

 

越发注意:假设obj本来便是贰个JSON对象,那么使用eval()函数转换后(哪怕是屡屡更换)照旧JSON对象,但是利用parseJSON()函数处理后会有标题(抛出语法很是)。

D:Other方式

 

若是不禁想犯错,十三分分外想解析非标准化准、非正规字符串,如:

      {name:mady,age:23}

或者

      {name:’mady’,age:23}

以及任何的您能体会精通的各个本质正确的违法格式,那么有扩展库能够缓解

jquery-json 扩展库

下载地址在那边:http://code.google.com/p/jquery-json/

那几个库用来扩展 jQuery ,对于 JSON
的运用,扩大了八个函数:toJSONparseJSON

toJSON 函数用来将一个常常的 JavaScript 对象系列化为 JSON 对象。

parseJSON函数用来将2个常备的 JavaScript 对象系列化为 JSON 对象too。

图片 9

      var data=$.toJSON({ x: 2, y: 3 }); 

      var obj = jQuery.parseJSON(data); 

      alert(obj.x); 

      var str = {plugin: 'jquery-json', version: 2.3}; 

      var data2=$.toJSON(str); 

      var obj2 = jQuery.parseJSON(data2); 

      alert(obj2.plugin);

图片 10

以上代码执行结果如:

图片 11图片 12

参见本例下载包中:Jquery德姆o五.html

 

2、将JSON对象转换为字符串

能够运用toJSONString()抑或全局方法JSON.stringify()将JSON对象转化为JSON字符串。

例如:

var last=obj.toJSONString(); //将JSON对象转化为JSON字符

或者

var last=JSON.stringify(obj); //将JSON对象转化为JSON字符

alert(last);

3、解析读取JSON

大家通过各样方法将字符串转换为JSON对象后正是分析他了。

如上边的事例:

      var str2 = { "name": "mady", "sex": "man" };

就足以如此读取:

      alert(str2.name);//和C#一样直接往出点…

弹出” mady”。

咱俩遭受的JSON很少有这样容易的,比如复杂一点的JSON对象如:

      var str={"GetUserPostByIdResult":{"Age":"33","ID":"2server","Name":"mady"}};

解析用:

      alert(str.GetUserPostByIdResult.Name);//一次点不出来,我多点几次

弹出:”mady”。

再再复杂一点的如:

      var data=" { root: [ {'name':'6200','value':'0'}, {'name':'6101','value':'xa'}, {'name':'6102','value':'beijing'}, {'name':'6103','value':'haerbin'}]}";

假若您想单挑的话,解析用:

      alert(dataObj.root[0].name);

弹出:“6200”。

即使您想群挑的话,解析用:

      $.each(dataObj.root, function(index, item) {
            $("#info").append(
                    "<div>" +index+":"+ item.name + "</div>" + 
                    "<div>" +index+":"+ item.value + "</div><hr/>");
        });

里面那几个“#info”是个DIV的ID。输入结果如下图:

 

图片 13

参见本例下载包中:JqueryDemo四.html

注意:本例假使要利用其余转换函数请更改字符串内单引号为双引号,外引号为单引号。

本小说全数代码:点击下载

相关文章