fastjson2 icon indicating copy to clipboard operation
fastjson2 copied to clipboard

[FEATURE] 请求添加unicode取消自动解码

Open cloud-jie opened this issue 1 year ago • 7 comments

理由1:https://github.com/alibaba/fastjson2/issues/2196 理由2:某些用户并不想获取被解码后的数据,反而青睐于未被处理过的数据,也就是只想输入什么数据解析后数据不变 image 如上图,希望输出为:{"vip": "7\u5929VIP\u4F53\u9A8C\u5361"} 从这个角度出发,可提供选项,使人可以根据需要自由选择,您不认可的话,不作为默认配置提供即可,只是给出可选配置项,会使项目更加完善,因为从目前来说,我并非固执己见,理由1的链接中有朋友有相同看法,未来或许有更多看法相同,或者相同需求的人。

我并非程序员,无法在应用场景说服您,也不明白所谓json标准,我只是想传入什么,经过解析后我就能获得什么,诚然这是一个朴实的想法,但我想并非毫无用处,如果并不麻烦,为何不添加这个功能试试呢?

cloud-jie avatar Apr 02 '24 04:04 cloud-jie

你可以使用JSONWriter.Feature.EscapeNoneAscii,但目前这个会使用小写而不是大写

String str = JSON.toJSONString(object, JSONWriter.Feature.EscapeNoneAscii);

wenshao avatar Apr 06 '24 09:04 wenshao

尝试了,但输出的json中不再存在中文字符,所有中文均被unicode编码输出,与预期不符 预期是:JSONReader.Feature.xxx,JSONPath.Feature.xxx使用后

JSON.parse();
JSON.parseObject(xx).get("vip");
JSONPath.extract(xx, "vip");

获取的值均不会被自动unicode解码。 image

cloud-jie avatar Apr 08 '24 03:04 cloud-jie

只能做到要么全部转码,要么不转码

wenshao avatar Apr 13 '24 10:04 wenshao

@wenshao 这样 #1760 问题是不是通过JSONReader.Feature.EscapeNoneAscii就解决了?

805728578 avatar Apr 15 '24 08:04 805728578

@wenshao 针对 #1760 问题,期望:针对是标准转义字符的就转义,不是转义的就原样输出

805728578 avatar Apr 15 '24 08:04 805728578

没计划这样的支持哦

wenshao avatar Apr 15 '24 11:04 wenshao

请问该问题解决了吗?或者有其它JSON转换工具可以支持这样处理吗?

violetdream avatar Jul 23 '24 11:07 violetdream