有这样一个json:
json1 = `
{
"webAPIModification": "`+ new Date() + `",
"AppSetting": {
"setting-toastSound": true,
"setting-animMode": true,
"setting-landscape": "NAN"
},
"UserInfo": {
"OS": "NAN"
}
}`;
现在我有了另一个json:
json2 = `
{
"ver": 1,
"send": true,
"status": "NAN"
}`;
如何添加json2到json1(在UserInfo下)?
json1 = `
{
"webAPIModification": "`+ new Date() + `",
"AppSetting": {
"setting-toastSound": true,
"setting-animMode": true,
"setting-landscape": "NAN"
},
"UserInfo": {
"OS": "NAN",
"ver": 1, <--> what i need
"send": true, <--> what i need
"status": "NAN" <--> what i need
}
}`;
我怎么能做到在jquery或javascript的方式??
您可以利用传播算子和添加内容json2 json1。
const json3 ={
...json1,
UserInfo:{
...json1.UserInfo,
...json2
}
}
将其解析为标准JS对象,合并UserInfo对象,最后将其字符串化回JSON:
a = JSON.parse(json1);
b = JSON.parse(json2);
Object.assign(a.UserInfo, b);
json1 = JSON.stringify(a)
一个低级别的解决方案可以是:使用JSON.parse(jsonstring),以便有对象,并将它们视为具有属性或数组的对象,然后你可以设置你想要的…之后,您可以使用json .stringify(object)获得json字符串。
let obj = JSON.parse(json1);
let otherUserInfo = JSON.parse(json2);
for (var index in otherUserInfo){
obj.UserInfo[index] = otherUserInfo[index];
}
json1 = JSON.stringify(obj);