JSON文件错误
Error in JSON file
当我使用下面的代码:
{
"info":[
{
"name": "Adam",
"address": "Park Street"
}
]
}
解析正确
,但添加进一步的代码,如:
{
"info":[
{
"name": "Adam",
"address": "Park Street1"
},
{ //<------ getting error here
"name": "Bob",
"address": "Park Street2"
},
{
"name": "Clarin",
"address": "Park Street3"
}
]
}
解析错误
这个问题,我可以通过从头编写一个JSON字符串并在jslint.com中测试它来重现,与这个坏序列有关:
{
space
LF
错误的JSON字符串示例:
{
"a":3
}
如果你删除空格,它可以工作。
所以你知道怎么修理它。
附加说明:
- 在jslint.com的默认设置下Chrome和Firefox都失败
- jslint.com接受JSON,如果你检查"凌乱的空白"
- 其他在线解析器可能不那么严格
- 它不会与Crockford的JavaScript实现
JSON.parse
失败(你可以在这里测试它),也不会与浏览器的本地JSON.parse
失败
如果你阅读规范,似乎你的JSON 是,事实上,有效的:
这是六个结构字符:
begin-array = ws %x5B ws ; [ left square bracket begin-object = ws %x7B ws ; { left curly bracket end-array = ws %x5D ws ; ] right square bracket end-object = ws %x7D ws ; } right curly bracket name-separator = ws %x3A ws ; : colon value-separator = ws %x2C ws ; , comma
允许在6个空格之前或之后使用无关紧要的空格结构特点。
ws = *( %x20 / ; Space %x09 / ; Horizontal tab %x0A / ; Line feed or New line %x0D ; Carriage return )
空白是无用的,即使是格式化,但它是合法的。您最好删除它,但您可能还应该调整您的解析器,使其更具容忍度,这是规则。
查看jsonlint.com。你的JSON是完美的…你的编辑器可能有问题
相关文章:
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- CKFinder 3为所选文件返回错误的URL
- 生成pdf或其他非html文件时的错误处理
- 有什么“;错误的”;将javascript放在asp.net表单上,而不是放在单独的文件中
- 导致内容安全策略(CSP)冲突错误的本地jquery.js文件
- 从安卓设备将图像上传到服务器时,文件扩展名错误
- 在量角器中创建一个.txt错误输出文件是手动的,而不是控制台错误
- 输入类型文件的未捕获类型错误
- 使用ajax上传的文件返回错误,但使用c#在asp.net的服务器端正常提交的文件
- 如何使用JavaScript粘贴原始二进制文件而不出现“无效字符”错误
- 放大弹出生成“;找不到文件”;YouTube视频的错误
- 在页面对象文件中验证sendKeys结果会导致未定义的错误(Protractor)
- 在浏览器中打开文本文件-服务器上出现错误
- IE 9 BHO插件.加载外部JS文件时出现错误SCRIPT1014
- 使用SeleniumWebdriver将文本复制到文件时出现编译错误的解决方案
- 使用.htaccess压缩文件时出现500错误
- 文件上传长度错误 (..文件长度)
- HAproxy:OPTIONS和POST方法的不同503错误文件
- 为什么ajax调用中的错误文件路径会杀死整个javascript文件
- JW播放器载入媒体错误:文件无法播放