【问题标题】:How to add array to JSON object in javascript?如何在javascript中将数组添加到JSON对象?
【发布时间】:2019-07-16 02:31:16
【问题描述】:

我正在尝试创建一个包含数组元素的 json 字符串:

var arrays = [0,1,2];
var obj = new Object();
obj.data = arrays;
console.log(JSON.stringify(obj));

我得到这个结果:

{"data":{"0":0,"1":1,"2":2}}

我想要这个 JSON 字符串:

{"data": [0,1,2,3,4,5,6,7], "name":"number"}

如何将数组元素添加到 JSON 对象?

【问题讨论】:

  • 请尝试用数据示例和预期输出来解释您需要做什么...另外,您可以与我们分享您的努力...
  • 您期望的输入和输出是什么?
  • 使用JSON.stringify
  • 没有“JSON 对象”这样的东西。 JSON 就其定义而言是一个字符串。一个物体,嗯……一个物体。你的问题是后者。如果你对一个对象进行字符串化,你现在就有了 JSON。在您的问题中滥用这些术语确实混淆了您想要的输入和输出,而且您没有显示任何代码或试图引导我们朝着正确的方向前进。
  • 我编辑了这个问题。我的英语不好,很抱歉给您造成混淆。

标签: javascript arrays json object ecmascript-6


【解决方案1】:

你可以像这样使用JSON.stringify

var myObj = {"data": [0,1,2,3,4,5,6,7], "name":"number"};
var myJSON = JSON.stringify(myObj);

console.log(myJSON);

您可以使用JSON.parse 将其转换回来:

var myObj = {"data": [0,1,2,3,4,5,6,7], "name":"number"};
var myJSON = JSON.stringify(myObj);

console.log(JSON.parse(myJSON));

【讨论】:

    【解决方案2】:

    JSON.parse 它,然后再JSON.stringify 它:

    var json = '{"data": [0,1,2,3,4,5,6,7], "name":"number"}'
    var obj = JSON.parse(json)
    
    obj.data.push(100)
    
    var newJson = JSON.stringify(obj)
    
    console.log(newJson)

    【讨论】:

      【解决方案3】:

      要将新元素添加到 JSON 对象中,只需使用: jsonObject.key = value;

      // your Example
      var myObj = {
          "data": [0,1,2,3,4,5,6,7], 
          "name":"number"
      }; 
       
      console.log(myObj); 
      // {"data": [0,1,2,3,4,5,6,7], 
      //  "name":"number"}
      
      myObj.myArray = ["a","b","c"];
      console.log(myObj); 
      // {"data": [0,1,2,3,4,5,6,7], 
      //  "name":"number", 
      //  "myArray":["a","b","c"]}

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-07-18
        • 1970-01-01
        • 2020-02-22
        • 2011-11-21
        • 1970-01-01
        • 1970-01-01
        • 2018-07-20
        • 2014-08-29
        相关资源
        最近更新 更多