使用JavaScript解析标头中带有@符号的JSON

时间:2019-06-24 10:56:38

标签: javascript json

我正在编写一个Web数据连接器以将Tableau连接到KCL空气质量数据API(http://api.erg.kcl.ac.uk/AirQuality/help),并且由于所有标头中均存在@符号,因此无法正确解析JSON输出。尝试将这些字符留在其中时,我收到无效的字符错误,并且在解析之前无法找到有效的方法来替换它们。

我已经可以使用此方法成功解析其他API输出,其中标头不包含任何特殊字符。我已经研究了转义或替换@字符以获取与过去相似的格式的方法,但是没有找到合适的格式。

我的API输出是以下格式的JSON:

{
    "Groups": {
        "Group": [
            {
                "@GroupName": "All",
                "@Description": "All current network LAs",
                "@WebsiteURL": "http://www.erg.kcl.ac.uk/"
            },
            {
                "@GroupName": "AroundLondon",
                "@Description": "Selection of boroughs around London",
                "@WebsiteURL": "http://www.londonair.org.uk/"
            }
        ]
    }
}

我正在尝试使用如下所示的for循环进行解析,然后将其匹配到我已经定义的表模式:

var feat = resp.Groups.Group,
                tableData = [];

            // Iterate over the JSON object
            for (var i = 0; i < feat.length; i++) {
                tableData.push({
                    "GroupName": feat[i].@GroupName,
                    "Description": feat[i].@Description,
                    "WebsiteURL": feat[i].@WebsiteURL
                    });
            }

在此示例代码中,我在标头中添加了@符号,但是此版本的代码导致无效的字符错误: 语法错误:无效字符:'@'文件:http://localhost:8080/js/wdc.js行:35

任何解决此问题的帮助将不胜感激!

0 个答案:

没有答案