【问题标题】:Creating a new array [] in json and pushing data using js在json中新建数组[]并使用js推送数据
【发布时间】:2021-03-27 00:42:42
【问题描述】:

需要一些帮助,所以我有一个这种格式的 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"}
        ],
        "block1": [
            {"long": "value2"}
        ],
        "nameofblock": [
            {"long": "thisisthevalueoflonginjson"}
        ],
        "name_of_block": [
            {"long": "data_inside_the_block"}
        ]
    }
}

感谢阅读!我在 Discord 中尝试过,但仍然无法弄清楚

【问题讨论】:

    标签: javascript node.js json


    【解决方案1】:

    像这样简单的事情应该可以解决问题:

    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);

    【讨论】:

      【解决方案2】:

      JSON 结构与 JS Object 相同。

      所以你可以像下面那样做。

      function createBlock = (longData) => [{"long":longData}];
      jsonObj.objs[myBlock] = createBlock(longData);
      

      【讨论】:

        猜你喜欢
        • 2014-10-11
        • 2018-01-04
        • 2015-03-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多