JavaScript Json对象和Json对象字符串的关系 jsonObj<->JsonString

JavaScript Json对象和Json对象字符串的关系 jsonObj<->JsonString

如下示例:

直接写的a1就是一个Json对象,a2 就是一个Json对象字符串; 通过eval函数 得到的 都是Json对象, 不管参数是对象还是 字符串.

 1 function JTS(o){
 2     var arr = [];
 3     var fmt = function(s) {
 4         if (typeof s == "object" && s != null)
 5             return JTS(s);
 6         return /^(string|number)$/.test(typeof s) ? """ + s + """ : s;
 7     }
 8     for (var i in o)
 9         arr.push(""" + i + "":" + fmt(o[i]));
10     return "{" + arr.join(",") + "}";
11 }
12
13 //Json 对象 14 var a1=[{"n1":"n1t","n2":"23","n3":"1"},{"n2":"n2t","n2":"12","n3":"1"},{"n3":"n3t","n2":"64","n3":"3"},{"n4":"n4t","n2":"78","n3":"4"},{"n5":"n5t","n2":"34","n3":"1"},{"n6":"n6t","n2":"56","n3":"4"},{"n7":"n7t","n2":"2","n3":"3"},{"n8":"n8t","n2":"1","n3":"4"}]; 15 //Json对象字符串 16 var a2="[{"n1":"n1t","n2":"23","n3":"1"},{"n2":"n2t","n2":"12","n3":"1"},{"n3":"n3t","n2":"64","n3":"3"},{"n4":"n4t","n2":"78","n3":"4"},{"n5":"n5t","n2":"34","n3":"1"},{"n6":"n6t","n2":"56","n3":"4"},{"n7":"n7t","n2":"2","n3":"3"},{"n8":"n8t","n2":"1","n3":"4"}]"; 17 18 //eval(JsonObj) => JsonObj 19 //eval(JsonString) => JsonObj 20 21 function gow() 22 { 23 24 alert( JTS(eval(a2)) ); 25 alert(JTS(a1)); 26 32 }

当然,你也 可以直接定义一个对象:

//定义一个对象
var a3={}
原文地址:https://www.cnblogs.com/lzpong/p/3633836.html