在递归JSON中需要方括号
Are square brackets required in recursive JSON?
我有一个由XMLHttpRequest().responseText
创建的REST API字符串:
{"value":{"patternList":"ERROR,Chase,Theater Chase,Random Colors & Locations,All Colors & Random Locations,Color Wipe,Rainbow,Rainbow Cycle,Theater Chase Rainbow,Larson Scanner,Random,Demo","MQUEUE":"3,4,5,6,7,8,9,10","currentPatternName":"Theater Chase"},"response":"get"}
"value"属性的值(令人困惑,我知道)本身就是一个JSON对象。该字符串被分配给result
, var obj = JSON.parse(result)
失败。但是,相同的字符串在jsonlint.com中验证。
如果我在嵌入的JSON对象周围插入方括号:
result = request.responseText;
result = result.replace(":{", ":[{");
result = result.replace("},", "}],");
var obj = JSON.parse(result);
所有这些都很好。带方括号的字符串也在jsonlint.com上进行验证。
JSON.parse()
是否有问题?我正在讨论是否应该将丢失的方括号作为bug报告给API提供商。
谢谢,凯文
你不需要JSON。请重新解析
var responseText = JSON.stringify({
"value": {
"patternList": "ERROR,Chase,Theater Chase,Random Colors & Locations,All Colors & Random Locations,Color Wipe,Rainbow,Rainbow Cycle,Theater Chase Rainbow,Larson Scanner,Random,Demo",
"MQUEUE": "3,4,5,6,7,8,9,10",
"currentPatternName": "Theater Chase"
},
"response": "get"
});
var responseJSON = JSON.parse(responseText);
var value = responseJSON.value;
var patternList = value.patternList;
alert(patternList);
相关文章:
- 数组在递归方法中设置为null
- Kendo:我该如何在树视图中创建一个递归的hieiarchy
- 递归使用 eval() 是检查程序执行的好方法吗?
- 使用递归、Ramda.js和无点样式重构字符串的getPermutations()
- 递归深度比较
- Eloquent JavaScript递归示例如何终止为返回1,但仍然输出指数值
- 递归函数中断
- 如何递归地获取嵌套对象中所有子对象的列表
- JavaScript 素数搜索无限递归
- 在递归生成器函数中,yield后面的*(星号/星号)语法意味着什么
- 递归|两个函数名
- 有没有一种方法可以在Javascript中进行可变递归currying
- 如何对不同的表递归使用以下代码
- 将jQuery对象传递到setTimeout递归函数中
- 有更好的方法吗?(递归解析HTML unicode实体)
- 为什么递归生成器函数没有't在ES2015工作
- 使用递归实现加性持久性
- 递归显示n元树
- 无递归的异步循环
- 在递归JSON中需要方括号