【问题标题】:Parse JSON objects by Javascript通过 Javascript 解析 JSON 对象
【发布时间】:2017-06-13 13:34:34
【问题描述】:

我是 Javascript 新手,实际上我正面临以下问题。 我通过调用 API 获得 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 App Test Elmos App Prod Elmos App Int”

我实际上有以下 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 结果中。 希望有人可以帮助我。谢谢。

【问题讨论】:

  • 我希望你的第一个代码块周围有[ ]
  • 所以循环它们并连接一个字符串。
  • 如果这是完整的响应,那么它不是有效的 JSON。
  • result > null,嗯?
  • 还需要引用浮点数,因此您的响应应如下所示: [{"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"}]

标签: javascript json rest api


【解决方案1】:

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

【讨论】:

  • 但显然您将 JSON 存储在数组中......我如何将响应存储在数组中?
  • 你不是已经有一个数组了吗?你从request.get(url) 那里得到了什么样的数据?
猜你喜欢
  • 1970-01-01
  • 2020-01-08
  • 1970-01-01
  • 2012-01-11
  • 2012-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-28
相关资源
最近更新 更多