[英]Adding attributes to existing json payload using javascript
我收到如下 json 响应。 我想添加“**
架构”:[“urn:ietf:参数:scim:架构:核心:2.0:用户”,“urn:ietf:参数:scim:架构:扩展:企业:2.0:用户”],“id”:“xyz” ,
** 对每个资源如何使用 javascript 执行此操作。 任何人都可以帮忙。
{
"Resources": [
{
"emails": {
"type": "bobsmith01@company.com",
"value": "Personal"
},
"name": {
"familyName": "Bob-update3",
"givenName": "Smith"
},
"detail": "SUCCESS",
"userName": "bobsmith01@company.com",
"status": "200"
},
{
"emails": {
"type": "samgomes@company.com",
"value": "Personal"
},
"name": {
"familyName": "gomes",
"givenName": "sam"
},
"detail": "SUCCESS",
"userName": "samgomes@company.com",
"status": "200"
}
]
}
所需的输出如下。
{
"Resources": [
{
"schemas":[
"urn:ietf:params:scim:schemas:core:2.0:User",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
],
"id":"xyz",
"emails": {
"type": "bobsmith01@company.com",
"value": "Personal"
},
"name": {
"familyName": "Bob-update3",
"givenName": "Smith"
},
"detail": "SUCCESS",
"userName": "bobsmith01@company.com",
"status": "200"
}
{
"schemas":[
"urn:ietf:params:scim:schemas:core:2.0:User",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
],
"id":"abc",
"emails": {
"type": "samgomes@company.com",
"value": "Personal"
},
"name": {
"familyName": "gomes",
"givenName": "sam"
},
"detail": "SUCCESS",
"userName": "samgomes@company.com",
"status": "200"
}
]
}
您可以使用 ES6 JS 扩展运算符 (...) 和 Array.map 来实现:
const orgObject = { "Resources": [{ "emails": { "type": "bobsmith01@company.com", "value": "Personal" }, "name": { "familyName": "Bob-update3", "givenName": "Smith" }, "detail": "SUCCESS", "userName": "bobsmith01@company.com", "status": "200" }, { "emails": { "type": "samgomes@company.com", "value": "Personal" }, "name": { "familyName": "gomes", "givenName": "sam" }, "detail": "SUCCESS", "userName": "samgomes@company.com", "status": "200" } ] } const copiedObject = {...orgObject}; // Copy object to avoid mutation preferably use lodash.cloneDeep // loop through the object.Resources using map copiedObject.Resources = copiedObject.Resources.map(res => { return { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User" ], "id": "xyz", ...res // Use spread operator to copy the existing object properties from Resources } }); console.log(copiedObject)
.as-console-wrapper{ top:0; max-height:100% !important; }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.