0

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

我可以剥离{"然后"}用逗号分割并达到这个结果。我想知道有没有更好更聪明的方法来做到这一点?

4

1 回答 1

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;
}
于 2012-11-28T17:14:11.343 回答