我有几个 json String 正在使用JSON.stringify,现在必须将所有 jsonString 合并到一个 json 中。
下面是我拥有的 3 个 json 字符串
json 1= '{
"authSeqNo" : 14,
"flagNewEdit": "EDIT",
"groupId": "AD0009",
"groupName": "IT-Updated",
"roleId": "Admin-Updated",
"recordStatus": "A"
}'
json 2=
{"userList": [
{
"userId": "x",
"email": "x@gamail.com",
"isDelete" : "TRUE"
},
{
"userId": "y",
"email": "y@gmail.com",
"isDelete" : "FALSE"
}
]}
json 3=
{"authMenuList": [
{
"menuId" : "ATHMGT",
"viewFlag": "1",
"createFlag": "1",
"editFlag": "0",
"deleteFlag": "1",
"creditnoteFlag": "0",
"cancelFlag": "1"
}]}
Run Code Online (Sandbox Code Playgroud)
现在必须加入所有这些 3 对 1,我尝试了以下方法
var completeDetails = json1.concat(json2);
completeDetails=completeDetails.concat(json3);
Run Code Online (Sandbox Code Playgroud)
但它没有给出所需的输出。
我的预期结果应该如下所示
{
"authSeqNo" : 14,
"flagNewEdit": "EDIT",
"groupId": "AD0009",
"groupName": "IT-Updated",
"roleId": "Admin-Updated",
"recordStatus": "A",
"userList": [
{
"userId": "x",
"email": "x@gmail.com",
"isDelete" : "TRUE"
},
{
"userId": "y",
"email": "y@gmail.com",
"isDelete" : "FALSE"
}
],
"authMenuList": [
{
"menuId" : "ATHMGT",
"viewFlag": "1",
"createFlag": "1",
"editFlag": "0",
"deleteFlag": "1",
"creditnoteFlag": "0",
"cancelFlag": "1"
}]
}
Run Code Online (Sandbox Code Playgroud)
但我得到的输出是
{
"authSeqNo": "0",
"flagNewEdit": "NEW",
"groupId": "TEST",
"groupName": "GroupN",
"roleId": "Administrator",
"recordStatus": ""
} {
"userList": "[{"
userId ":"
x ","
email ":"
x @v.com ","
delete ":"
"}, {
"userId": "asdkl",
"email": "x@sd.com",
"delete": ""
}]
"} {
"authMenuList[{"
menuId ":"
ATHMGT ","
viewFlag ":"
1 ","
createFlag ":"
1 ","
editFlag ":"
0 ","
deleteFlag ":"
1 ","
creditnoteFlag ":"
0 ","
cancelFlag ":"
1 "}]}
Run Code Online (Sandbox Code Playgroud)
我是 javascript 新手并正在学习它。请帮我解决这个问题。
您可以将它们转换为 JS 对象并组合它们
所以:
const obj1 = JSON.parse(json1);
const obj2 = JSON.parse(json2);
const obj3 = JSON.parse(json3);
const mergedObj = Object.assign(obj1, obj2, obj3);
const jsonStr = JSON.stringify(mergedObj);
Run Code Online (Sandbox Code Playgroud)
jsonStr 应该将三个 JSON 组合在一起
我刚刚看到你使用 JSON.stringify() 来获取你的字符串,所以如果你有三个对象,只需执行 Object.assign() 部分,你应该会很好。