将javascript“strings”连接到对象中

时间:2012-11-28 17:12:33

标签: javascript json

我正在编写一个方法,它应该将两个字符串(这是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"}

我可以剥离{""}然后用逗号分割并实现此结果。我想知道有更聪明的方法吗?

1 个答案:

答案 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;
}