javascript - 使用javascript构造json对象

标签 javascript arrays json

我在使用 javascript 构造对象时遇到问题。我想要这个:

{
    "p_id": "2",
    "p_name": "weblogic",
    "ip_list": [
        {
            "ip_id": 2690
        },
        {
            "ip_id": 2692
        },
        {
            "ip_id": 2693
        }
    ]
}

下面是我用来将数据获取到对象中的 JavaScript 代码:

var ipArray = [];
secTagJSON.p_name = "weblogic";
secTagJSON.p_id = "2";
for (var index=0; index < selectedArray.length; index++){
    secTagJSON.ip_list.push("ip_id": selectedArray[index]);
}

我能够构造 p_id 和 p_name 的属性,但很难创建 ip_list。请让我知道如何使用 javascript 构建它。

发布到服务器的代码:

var ipArray = [];
secTagJSON.p_name = "weblogic";
secTagJSON.p_id = 2;
for (var index=0; index < selectedArray.length; index++){
 secTagJSON.ip_list.push({"ip_id": selectedArray[index]});
}
console.log (secTagJSON);
console.log (JSON.stringify(secTagJSON));
 $http.post("http://server:port/api/v1/tags").
    success(function(data) {
      console.log (data)
    });

最佳答案

只需这样做:

var obj = { ip_list: [] };

obj.p_name = "weblogic";
obj.p_id = "2";

for (var i = 0, j = selectedArray.length; i < j; i++)
   obj.ip_list.push({ ip_id: selectedArray[i] });

请注意,您的 ip_list 实际上是一个对象数组。因此,当您迭代它时,请记住每个 var item = json.ip_list[i] 将返回一个对象,您可以使用以下方式访问其属性:item['ip_id'].

请注意,obj 是一个 Javascript 对象,而不是一个 JSON。如果您想要 JSON,可以使用 JSON.stringify(obj)。这将返回您的 JSON(字符串)。

希望我能有所帮助。

关于javascript - 使用javascript构造json对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22695645/

相关文章:

javascript - 将php关联数组转换为javascript对象

javascript - 在对数组执行 "double iteration"的同时对每个项目执行异步操作

javascript - rails : Form confirm message with data from the submitted form

javascript - Mechanize 打开javascript链接python

arrays - 在 Fortran 中创建异构数组

Android:如何使用 GSON 库解析 JSON 文件?

JSONPath表达式从条件数组中获取值或仅获取第一个值

java - 将 JSON 字符串序列化为对象

java - 使用 Java 对 Javascript 进行静态分析

javascript - 如何在 JavaScript 中索引 Prototype 对象