H5W3
当前位置:H5W3 > 问答 > 正文

不太标准的json数据别人是如果操作的?

某php站resultjson

{
"queryExt": "segmentfault",
"data": [{
"token": "",
"is_gif": 0,
}, {}],
}

这明显格式不对啊,我的认知中下面的

{
"queryExt": "segmentfault",
"data": [{
"token": "",
"is_gif": 0
}, {}]
}

有没有大佬科普下相关知识,这种该怎么操作?

回答

在 js 代码里,最后一个逗号是可以有的(大概是比较新的浏览器都可以)
但是在 JSON 库的解析逻辑了,最后一个逗号是错误的

如果是 PHP 后端,使用库函数 json_encode 不会生成不符合规范的 最后一个逗号
如果不能让后端改正,那么前端直接 eval 应该也行。。。用标准的 JSON.parse 会报错

这种叫做尾后逗号(Trailing_commas)。

从 ES5 开始 JS 就可以支持了,直接当对象字面量的话 eval 即可。

但 JSON 标准里是不支持尾后逗号的,用 JSON.parse 是会报错的。

本文地址:H5W3 » 不太标准的json数据别人是如果操作的?

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址