用Javascript解析JSON对象
问题描述:
我是新入Javascript,实际上我面临以下问题。 我通过调用API来获取JSON对象。我得到不止一个对象,这很好。对象是这样的:用Javascript解析JSON对象
{"version": 1.0.1,
"id": 125,
"name": "Elmos App Test",
"creationDate": "2017-05-28",
},
{"version": 1.0.4,
"id": 25,
"name": "Elmos App Prod",
"creationDate": "2017-05-25",
},
{"version": 1.1,
"id": 14,
"name": "Elmos App Int",
"creationDate": "2017-04-23",
}
我希望这里不难识别JSON。我现在的问题是将三个名字保存在一个变量中。通话
响应应该是这样的 - >“您的应用程序是ELMOS应用测试ELMOS应用PROD ELMOS应用程序内部”
其实我有以下Javascriptcode:
function getJSON(callback){
request.get(url(), function(error, response, body){
var d = JSON.parse(body);
var result = d.name;//query for result
if (result > null){
callback(result);}
else
{
callback("ERROR");
}
});
正如你可以看到我尝试将名称保存到var结果中。 希望有人能帮助我。谢谢。
答
您可以使用Array#map()
只获取名称,然后join()
将它们串联
const array = [{"version": "1.0.1", "id": 125, "name": "Elmos App Test", "creationDate": "2017-05-28", }, {"version": "1.0.4", "id": 25, "name": "Elmos App Prod", "creationDate": "2017-05-25", }, {"version": "1.1", "id": 14, "name": "Elmos App Int", "creationDate": "2017-04-23" }],
name = array.map(a=>a.name).join(' ');
console.log(name);
+0
但明显你将JSON存储在数组中......我如何将响应存储在数组中? –
+0
难道你没有阵列吗?你从request.get(url)获得什么样的数据? – Weedoze
我希望你的第一个代码块有'[]'周围。 – epascarello
因此,循环它们并连接一个字符串。 – epascarello
如果这是完整的响应,那么它不是有效的JSON。 –