var user_info_json = []; user_info_json[user_info_json.length] = eval('('+ '{"'+ id +'": "'+ value +'"}' +')'); JSON.stringify(user_info_json)
先转成字符串,然后使用eval()格式化,然后在把json对象格式化成字符串
分析 : json = {key:values}; 的结果是{"key":values}不满足要求,而json还不支持
json = {"" + key:values};这种格式,所以,想直接把key作为参数传入的思路是不行的
所以只能先写一个字符串,然后格式化成 key :value 的形式
之所以会遇到这个问题是因为我传数据库的时候
[{"mobile":"15915845461"},{"name":"红"},{"388":"某些"}] 我的格式是这样的
所以他key是动态的
另外在实践中发现了 JSON.parse()和JSON.stringify() 这两者的区别也记录下
parse用于从一个字符串中解析出json对象,如var str = '{"name":"huangxiaojian","age":"23"}'
结果:
JSON.parse(str) Object mobile: "15224545246" name: "huangxiaojian" __proto__: Object
注意:单引号写在{}外,每个属性名都必须用双引号,否则会抛出异常。
stringify()用于从一个对象解析出字符串,如
var a = {a:2,b:3}
结果:
JSON.stringify(a) "{"a":2,"b":3}"
相关参考:
JSON.parse()和JSON.stringify()使用介绍
以上所述是小编给大家介绍的JSON中key动态设置及JSON.parse和JSON.stringify()的区别,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
您可能感兴趣的文章: