如何解决在json中创建一个新数组[]并使用js推送数据
需要一些帮助,所以我有一个这种格式的 json
{
"objs": {
"block": [
{"long": "value1"}
],"block1": [
{"long": "value2"}
],"nameofblock": [
{"long": "thisisthevalueoflonginjson"}
]
}
}
现在我需要使用js添加一个新数组,我不允许更改JSON的结构 所以现在,在我的 js 中,我有这样的东西
let myBlock = "name_of_block";
let longData = "data_inside_the_block";
现在使用这些变量需要使用JS中的变量在现有的JS文件中创建一个新块
所以一旦添加了这些,JSON 必须看起来像这样
{
"objs": {
"block": [
{"long": "value1"}
],"nameofblock": [
{"long": "thisisthevalueoflonginjson"}
],"name_of_block": [
{"long": "data_inside_the_block"}
]
}
}
感谢阅读!我在 Discord 中尝试过,但仍然无法弄清楚
解决方法
像这样简单的事情应该可以解决问题:
myJSON.objs[myBlock] = [{"long": longData}];
其中 myJSON
是您要将其附加到的对象。
请看下面的例子:
const myJSON = {
"objs": {
"block": [
{"long": "value1"}
],"block1": [
{"long": "value2"}
],"nameofblock": [
{"long": "thisisthevalueoflonginjson"}
]
}
};
let myBlock = "name_of_block";
let longData = "data_inside_the_block";
myJSON.objs[myBlock] = [{"long": longData}];
console.log(myJSON);
JSON 结构与 JS Object 相同。
所以你可以像下面那样做。
function createBlock = (longData) => [{"long":longData}];
jsonObj.objs[myBlock] = createBlock(longData);
,
let x ={
"objs": {
"block": [
{"long": "value1"}
],"nameofblock": [
{"long": "thisisthevalueoflonginjson"}
],"name_of_block": [
{"long": "data_inside_the_block"}
]
}
}
x.objs.newProperty= 'New value'
console.log(x) --->
{
objs: {
block: [ [Object] ],block1: [ [Object] ],nameofblock: [ [Object] ],name_of_block: [ [Object] ],newProperty: 'new Value'
}
}
``
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。