我正在编写一个方法,它应该将两个字符串(这是json stringify的结果)连接成一个字符串(它应该看起来像json对象的结构)。
第一个:
{"text":"klk","makeId":"9"}
第二个:
{"firstname":"jjk","lastname":"jkjk","email":"jjkjk@sdasd.com"}
如何将这两个连接成一个json字符串,即:
{"text":"klk","makeId":"9", "firstname":"jjk","lastname":"jkjk","email":"jjkjk@sdasd.com"}
我可以剥离{"
和"}
然后用逗号分割并实现此结果。我想知道有更聪明的方法吗?
答案 0 :(得分:6)
这些字符串是JSON!解析它们,像对象一样合并它们并再次对它们进行字符串化。
var data1 = JSON.parse(json1);
var data2 = JSON.parse(json2);
var data = merge(data1, data2); // implement merge!
console.log(JSON.stringify(data));
JSON
应该可以在所有最近的浏览器中使用。
function merge(obj1, obj2) {
var hasOwn = {}.hasOwnProperty;
for (var key in obj2) {
if (hasOwn.call(obj2, key)) {
obj1[key] = obj2[key];
}
}
return obj1;
}