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

string 为:‘{id:'item1',num:1,id:'item2',num:2,id:'item3',num:3}’【两边有单引号的】
想做到将string转为json存到数组里,酱:[{id:'item1',num:1},{id:'item2',num:2},{id:'item3',num:3}]
尝试用(eval("(" + itemString + ")"))把string转为json再存数组,但数组里只有第三对,前两对不见了;
想把两边引号当做字符串的一部分用slice删掉,但结果删不掉引号。

我的思路是否有问题?怎么做合适
写错了,string是:'{id:"item1",num:1},{id:"item2",num:2},{id:"item3",num:3}'

第1个回答  2013-12-26
{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存在重复的情况下常规方法应该是处理不了的,需要取巧投机。追问

http://zhidao.baidu.com/question/431519320287668804.html?quesup2&oldq=1 看下这个

本回答被网友采纳
第2个回答  2013-12-26
你这是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个回答  2013-12-26
var str = '{id:"item1",num:1},{id:"item2",num:2},{id:"item3",num:3}';
var arr = eval('([' + str + '])');

本回答被提问者采纳
第4个回答  2015-10-23
字符串转json:
var t = "{'name','aaaa'}";
var jsonobj=eval('('+t+')');

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