js字符串转json,存到数组里

2025-03-23 03:58:30
推荐回答(4个)
回答1:

{id:'item1',num:1,id:'item2',num:2,id:'item3',num:3}
这是个什么啊,就算转成对象,key都是重复的,自然前边的被后边的覆盖,只剩一对。
你想从{id:'item1',num:1,id:'item2',num:2,id:'item3',num:3}转换到[{id:'item1',num:1},{id:'item2',num:2},{id:'item3',num:3}],这个规则太复杂了,在key存在重复的情况下常规方法应该是处理不了的,需要取巧投机。

回答2:

你这是json格式的字符串么??
json字符串格式:
"{'key1':'value1','key2':'value2',......'key*','value*'}";
你这是json格式的字符串么?
'{id:"item1",num:1},{id:"item2",num:2},{id:"item3",num:3}'

不知道你的字符串是怎么生成的,如果是程序拼出来的,建议你改一下吧,例如: {id:"item1",num:1}特殊分割符{id:"item2",num:2}特殊分割符{id:"item3",num:3}

然后使用split("特殊分割符")吧。

回答3:

var str = '{id:"item1",num:1},{id:"item2",num:2},{id:"item3",num:3}';
var arr = eval('([' + str + '])');

回答4:

字符串转json:
var t = "{'name','aaaa'}";
var jsonobj=eval('('+t+')');

然后json对象存入arr数组里面
var arr=array();
arr[0]=jsonobj;