json字符串和对象的相互转化

json在代码中是经常用到的,在此总结一下json字符串和对象及数组之间的相互转化:

  1.javascript函数方式:

    <1> JSON.stringify :把一个对象转换成json字符串   

1 var jsonO = {name:"jack",age:20};
2 JSON.stringify(jsonO);
3 ==>  '{name:"jack",age:20}';
4 
5 var jsonO = [{name:"jack",age:20},{name:"tom",age:21},{name:"jim",age:22}];
6 JSON.stringify(jsonO);
7 ==>  '[{name:"jack",age:20},{name:"tom",age:21},{name:"jim",age:22}]';

    <2> JSON.parse 把一个json字符串解析成对象。

var jsonS = '{"name":"John"}';
JSON.parse(jsonS);
==>  Object object

  2.jquery方式:

    jquery中 $.parseJSON(json)将json转换为Javascript对象,但没有提供将Javascript对象转换成json的函数。

var jsonS = '{"name":"Jack"}';
var jsonObj = $.parseJSON(json); 

  3.javaScript只带函数eval(),可以将json字符串转化成javascript对象

var jsonS = '[{name:"tom",age:21},{name:"Lily",age:22},{name:"John",age:23}]';
var jsonArr = [];
var json = ('('+jsonS+')');
jsonArr = json;
==>  [{name:"tom",age:21},{name:"Lily",age:22},{name:"John",age:23}]

  4.另外如果使用extjs插件的话,可以使用:

    Ext.decode()将字符串转化成对象

    Ext.encode()将json对象转化成字符串

  5.如果要将获取的json对象组合成对象数组的话,直接定义一个数组,然后push一个个json对象即可

var jsonA = [];
jsonA.push({name:"milk",amount:100,color:"white"});
原文地址:https://www.cnblogs.com/0519xf/p/6229480.html