Javascript 操作 json 会遇到什么坑?

Javascript Json  操作


json 字符串转成 json 对象


1. javascript  json 字符串, 如果用 单引号 ’ , 扩住字符串, json 里面就要用 双引号,  反之,如果用双引号,  json里面就要用单引号


2. 将json字符串 解析成 json 数据用  eval 函数,参数需要加“(”  和 “)” , 数组不需要,但数组加上也不影响

var serviceStr1="{name: 'wowo',document:'thisis s \"sf\" sdfsdfs'}";

 var jsonobj=eval("("+servicelist+")");

或: JSON.parse(serviceStr1);  

3. 如果数组内嵌数组,数组里的数组的元素怎么表示?不知道。 最好给数组里的数组一个名字,把它编为对象。

var vserviceslist="["+
                   "{varr1 :[{name: 'wowo1',document:'1thisis s \"sf\" sdfsdfs'},{name: 'momo1',document:'1thisis s \"another\" service '}]},"+
                   "{varr2 :[{name: '2wowo',document:'2thisis s \"sf\" sdfsdfs'},{name: '2momo',document:'2thisis s \"another\" service '}]}  "+
                   " ]";

var jsonobj=eval("("+vserviceslist+")");
console.log(jsonobj[0].varr1[0].name);


json 对象 转成 json 字符串

用全局类 JSON.stringify() 来转成字符串

console.log( JSON.stringify( jsobj ) );



对象赋值

javascript 可以直接定义一个对象,就是json 对象 

var  jsobj={name:"this is name", document: "document list here"};   这个对象添加属性就直接加 jsobj.newprop="hheheh";


数组赋值

json 数组就是javascript 数组, 你可以获得数组的长度  length  ,  直接添加数组元素 

var arr=[“element1"];   arr.[1]="element2";



你可能感兴趣的:(JSON)