【问题标题】:How to create JSON array in Javascript/jQuery如何在 Javascript/jQuery 中创建 JSON 数组
【发布时间】:2016-11-28 09:21:45
【问题描述】:

我正在创建一个科尔多瓦离子应用程序。我想创建一个像下面的 JSON 对象。我想发送一个如下所示的 JSON 请求,我需要动态创建该请求。 以下只是一个示例。我想在 JS 中创建它。

{
    user_id: "72",
    data: {
        [{
            "id": "2",
            "name": "1",
            "occupation": "30",
            "type": [{
                "shape_id": "9",
                "sizey": "6",
                "sizex": "4",
                "price": "6"
            }, {
                "shape_id": "8",
                "sizey": "6",
                "sizex": "6",
                "price": "4.68"
            }, {
                "shape_id": "4",
                "sizey": "4",
                "sizex": "4",
                "price": "2.08"
            }],
        }]
    }
}

【问题讨论】:

  • 你能澄清你在问什么吗? JSON 是 JavaScript 的子集。因此,如果您想在 JavaScript 源代码中创建它,您只需编写您所拥有的内容,大概在前面加上 var data = ,在末尾加上 ;。 (或将其传递给函数等)
  • 您能具体说明您要添加的键值对吗?
  • 另请注意,您似乎拥有的是一个对象,它是与 JSON 完全不同的实体。
  • “数据”属性似乎存在问题。 "{[{" 将导致错误。您不能在对象中使用没有名称的数组
  • 我有值.....但是没有相对的方法可以将键分配给值。所以,在这里我不明白该回答什么,因为问题不清楚。

标签: javascript jquery json


【解决方案1】:

使用这个:

jsonObj = [];

item = {}
item ["key"] = "value";
item ["key2"] = jsonObj2;
jsonObj.push(item);

【讨论】:

    【解决方案2】:

    你可以像这样创建一个javascript obj:

    var obj={id: 2, name: "name"};
    

    然后使用JSON.stringify(obj) 获取您的 json 字符串。

    【讨论】:

      【解决方案3】:

      只需使用您提供的内容并将其放入变量中

      您可以根据需要从数字中删除引号。如果没有引号,它将是一个数字而不是一个字符串

      user_id : "72"
      

      可以替换为

      user_id : 72
      

      var data = {
        user_id: "72",
        data: [{
          "id": "2",
          "name": "1",
          "occupation": "30",
          "type": [{
            "shape_id": "9",
            "sizey": "6",
            "sizex": "4",
            "price": "6"
          }, {
            "shape_id": "8",
            "sizey": "6",
            "sizex": "6",
            "price": "4.68"
          }, {
            "shape_id": "4",
            "sizey": "4",
            "sizex": "4",
            "price": "2.08"
          }],
        }]
      }
      
      
      console.log(data);

      【讨论】:

      • 您所做的第一句话,删除数字周围的引号不一定是正确的。 "72"72 之间的区别是第一个是字符串,第二个是数字/整数。如果他需要它是一个字符串,把它变成一个数字可能会破坏一些东西,反之亦然。
      • 其实我不想访问数据...我只想创建一个这样的 JSON 请求以使用 ajax 调用将其发送到服务器...
      • @Anjana-Systematix 然后只需使用data 变量
      • @Anjana-Systematix 如果您想发送数据,您将需要您的服务器设置能够接受这种请求,然后您只需通过可变数据。这将发布整个对象,包括 userId,以及包含所有信息的数据数组。
      • 如何创建该数据数组? @JoshuaTerrill 我不知道如何创建它...我只是在上面展示了我需要什么样的请求的示例...
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-29
      • 1970-01-01
      • 1970-01-01
      • 2015-06-07
      • 1970-01-01
      • 1970-01-01
      • 2018-04-28
      相关资源
      最近更新 更多