extjs - 在 ExtJS 7 中使用 Ext.decode() 时如果在 json 中注释会出错
问题描述
Ext.decode() 现在非常严格。当 JSON 中有注释或任何无效的 json 格式(例如没有双引号)时,它会引发错误。如何禁用此类检查?
Ext.decode('{ test: test}');
OR
Ext.decode(`{//test
"include": [
"main.json"
]
}`)
未捕获的错误:您正在尝试解码无效的 JSON 字符串:
但这不会在 6.2.0 中引发错误
解决方案
就像提到的 devbnz 一样,有第二个参数,如果设置为 true,方法不会抛出错误,而是返回 null。 https://docs.sencha.com/extjs/6.5.3/classic/Ext.html#method-decode
但在 6.6.0 之前,Ext.decode() 仍然可以接受无效的 json。它已在 6.6.0 https://docs.sencha.com/extjs/6.6.0/guides/whats_new/release_notes.html中修复
EXTJS-18443 JSON 解码器应该在无效语法上抛出异常
推荐阅读
- python-3.x - 如何使用 Jmespath 查询复杂的嵌套字典?
- mysql - 此查询没有进一步优化?
- apache-spark - Pyspark - 如何根据条件将多个 json 流合并到单个数据帧?
- r - 如何在 R 中的 lavaan 中调整 Cronbach 的 Alpha 测量误差
- python - 如何将多个列表压缩到python中的嵌套字典中
- kdb - 根据客户端对匹配从 KDB 表中删除最旧的记录
- json - SQL Server json_value 的括号表示法?
- swiftui - 为什么 SwiftUI 在 navigationTitle 中日期格式为“2020 M10 27”?
- angular - 由于 MSAL Angular 中的超时,令牌更新操作失败
- express - vue使用axios上传文件到azure blob,但是后端服务器收不到body值