js javascript 将一段字符串转为JSON格式,字符串转换问题

字符串为
[
"同意",
"不同意"
]

将他转为
[
{"text":"同意","value":"同意"},
{"text":"不同意","value":"不同意"}
]

var str = "['同意','不同意']";
    var arr = eval('('+str+')');
    var newArray = [];
    for (var i = 0 ; i < arr.length ; i++) {
     var obj = {};
     obj.text = arr[i];
     obj.value = arr[i];
     newArray.push(obj);
    }
   
    alert(newArray);
    或者
    var str = '["同意","不同意"]';
    var arr = JSON.parse(str);
    var newArray = [];
    for (var i = 0 ; i < arr.length ; i++) {
     var obj = {};
     obj.text = arr[i];
     obj.value = arr[i];
     newArray.push(obj);
    }
   
    alert(newArray);

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-16
大概的思路是先把字符串还原成js数组,然后再创建一个新的数组格式为你下面的格式,然后在这个新的数组转成json串。

var obj1 = $.parseJSON(obj1Json);
var obj2 = [];
for(var i=0;i<obj1.length;i++){
obj2[i] = {"text":obj1[i],"value":obj1[i]};
}
alert(JSON.stringify(obj2));
第2个回答  2013-07-16
这是对的啊?然后呢?
你再卖弄?还是?

这可是一个陈述句。