用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结果中。 希望有人能帮助我。谢谢。

+3

我希望你的第一个代码块有'[]'周围。 – epascarello

+0

因此,循环它们并连接一个字符串。 – epascarello

+2

如果这是完整的响应,那么它不是有效的JSON。 –

您可以使用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