如何使用JSONSerializer转换含'class'键的JSON字符串(避免键丢失)
解决JSONSerializer解析含'class'键JSON字符串时的忽略问题
当使用JSONSerializer的toJSON方法解析包含class键的JSON字符串时,class键会被自动忽略,示例代码如下:
String str = "{'test': 'ok', 'class' : 'fail'}"; JSON json = JSONSerializer.toJSON(str); // 结果为: {"test":"ok"}
要让class键正常被解析,只需通过JsonConfig修改默认的过滤规则:
String str = "{'test': 'ok', 'class' : 'fail'}"; JsonConfig config = new JsonConfig(); // 取消默认的关键字忽略规则 config.setIgnoreDefaultExcludes(false); JSON json = JSONSerializer.toJSON(str, config); // 结果为: {"test":"ok","class":"fail"}
原因是JSONSerializer默认会忽略Java关键字(如class),设置ignoreDefaultExcludes为false后,就不会再过滤这些关键字,从而保留class键及其对应的值。
内容的提问来源于stack exchange,提问作者Termininja
相关产品推荐
相关产品推荐

