[英]not able to add new key value pair in the JSON object kindly some one help me out
[英]Not able to add key value pair in a json object from a json object
我想从另一个 json ZA8CFDE6331BD59EB2AC96F8911C4B666 向我的 json object 添加键值对。
我试图阅读许多 stackoverflow 类似的问题,但这些解决方案都不适用于我的情况。
const oValues = { action: "Open Browser & Login", password: "something", url: "https://***manage", user: "user1", } var mElementsData = { pages: [{ groups: [{ elements: [{}] }] }] }; for (var key in oValues) { if (oValues.hasOwnProperty(key)) { mElementsData.pages.groups.elements["label"] = key; mElementsData.pages.groups.elements["value"] = oValues[key]; } } console.log(mElementsData);
您的pages
、 groups
和elements
元素都是对象的 arrays ,因此您需要引用特定的数组元素( [0]
)来设置值:
var mElementsData = { pages: [{ groups: [{ elements: [{}] }] }] }; var oValues = { key: "value" }; for (var key in oValues) { if (oValues.hasOwnProperty(key)) { mElementsData.pages[0].groups[0].elements[0]["label"] = key; mElementsData.pages[0].groups[0].elements[0]["value"] = oValues[key]; } } console.log(mElementsData);
页面和组是数组,因此您必须循环并将 object 与键和值对绑定
var mElementsData = {
pages: [{
groups: [{
elements: [{}]
}]
}]
};
var oValues = {
action: "Open Browser & Login",
password: "something",
url: "https://***manage",
user: "user1",
}
for (var key in oValues) {
if (oValues.hasOwnProperty(key)) {
for (let i = 0; i < mElementsData.pages.length; i++) {
let pages = mElementsData.pages[i]
for (let j = 0; j < pages.groups.length; j++) {
pages.groups[j].elements[j][key] = oValues[key]
}
}
}
}
console.log(mElementsData)
您的嵌套属性不是对象,而是对象的 arrays,因此您无法通过点符号访问它们。 您可以通过索引访问它们,这是一个示例:
const oValues = { action: "Open Browser & Login", password: "something", url: "https://***manage", user: "user1", } var mElementsData = { pages: [{ groups: [{ elements: [] }] }] }; for (var key in oValues) { if (oValues.hasOwnProperty(key)) { const element = { label: key, value: oValues[key] }; mElementsData.pages[0].groups[0].elements.push(element); } } console.log(mElementsData);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.