尝试解析特殊字符以在JavaScript中检索JSON元素

时间:2016-04-05 13:04:41

标签: javascript json node-red

我正在使用NodeRed进行大学项目的帮助。我正在JS(NodeRed)中集成一个JSON API并遇到障碍。这是我正在检索的那种JSON:

{"@SpeciesCode":"NO2","@MeasurementDateGMT":"2016-04-04 00:00:00","@Value":"58.2"}

那" @" sign真的给了我各种各样的麻烦,因为我使用JSON.parse或stringify或者逃避,它要么告诉我"意外的令牌@"或者只是"未定义的值"。

以下是我正在使用的代码:

var body = msg.payload;
var bodyParsed = JSON.parse(body);
var data = bodyParsed.AirQualityData.Data;
var valueStr="@Value";
var value=JSON.stringify(valueStr);
var valueParsed=JSON.parse(value);
var element = data[0].valueParsed;
return {payload:element};

如果你想了解它,请点击此处的数据网址:http://api.erg.kcl.ac.uk/AirQuality/Data/Site/SiteCode=WM6/StartDate=2016-04-04/EndDate=2016-05-04/Json

[更新:已解决]感谢jcubic在下面的评论中提供了解决方案:

  

使用您需要使用括号表示法的变量来访问属性:   var element = data [0] [valueParsed];你也不需要字符串化和解析@value只需使用数据[0] [" @ Value"]

所以新代码是

var body = msg.payload;
var bodyParsed = JSON.parse(body);
var data = bodyParsed.AirQualityData.Data;
var element = data[0]["@Value"];
return {payload:element};

0 个答案:

没有答案