0

我有一串 2 个 json 对象,如下所示:

var param = '{"key1":"value1","key2":"value2"},{"key3":"value3"}';

我怎样才能在javascript中分成这样的2个对象..

 var objA = {"key1":"value1","key2":"value2"};
 var objB = {"key3":"value3"};
4

4 回答 4

3

就这么简单——用这些对象创建一个数组

var param = '{"key1":"value1","key2":"value2"},{"key3":"value3"}'; 
var obj = JSON.parse('[' + param + ']');
var objA = obj[0];
var objB = obj[1];
于 2013-10-04T10:18:47.923 回答
0

你的 JSON 字符串是错误的。将您的代码更改为

var param = '[{"key1":"value1","key2":"value2"},{"key3":"value3"}]';
var jsonArr = JSON.parse(param);
for(var i in jsonArr) {
    var jsonObj = jsonArr[i];
    // jsonObj is your required object
}

在这里看到这个小提琴

于 2013-10-04T10:31:12.830 回答
0

像这样

var data = JSON.parse("[" + param "]");
objA = data[0];
objB = data[1];
于 2013-10-04T10:18:34.500 回答
0

你也可以用这样的对象来做;

var param = '{"objA": {"key1": "value1","key2": "value2"}, "objB": {"key3": "value3"}}',
    obj = JSON.parse(param),
    objA = obj.objA,
    objB = obj.objB;

console.log([obj, objA, objB]);

jsfiddle

于 2013-10-04T10:36:12.387 回答