在ExtJS 7中使用Ext.decode()时,如果json中有注解,则出错

piztneat  于 2022-09-26  发布在  其他
关注(0)|答案(1)|浏览(165)

Ext.decode()现在非常严格。当JSON中有注解或任何无效的JSON格式(例如没有双引号)时,它会抛出错误。如何禁用此类检查?

Ext.decode('{ test: test}');
OR
Ext.decode(`{//test 
    "include": [
        "main.json"
    ]
}`)

未捕获错误:您正在尝试解码无效的JSON字符串:
但这不会抛出6.2.0中的错误

0qx6xfy6

0qx6xfy61#

就像devbnz提到的,有第二个参数,如果设置为true,方法不会抛出错误,而是返回null。https://docs.sencha.com/extjs/6.5.3/classic/Ext.html#method-解码
但在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解码器应在无效语法上引发异常
[更新]我的答案是错误的。目前没有解决方案。无法在ExtJs7中使用Ext.decode解码带注解的JSON

相关问题