JSONObject jsonObject = JSONObject.parseObject("{\"aaa\":\"\001\"}");
System.out.println(jsonObject);
为什么输出结果是: {"aaa":"\u0001"}
JSONObject jsonObject = JSONObject.parseObject("{\"aaa\":\"\\001\"}");
System.out.println(jsonObject);
为什么输出结果是:{"aaa":"\u000001"}
怎么给加上了\u0这样的字符串呢?
5条答案
按热度按时间dbf7pr2w1#
\
在json 中是特殊字符需要转义的, 不是 fastjson 的问题35g0bw712#
怎么不让它给我转义
JSONObject jsonObject = JSONObject.parseObject("{"aaa":"\001"}");
System.out.println(jsonObject);
我想要的输出结果是:{"aaa":"\001"},而不是{"aaa":"\u0001"}
vof42yt13#
@545314690 你可以反其道而行之,先构建一个对象,然后序列化,看看生成的字符串是什么样的.
zy1mlcev4#
在双引号内部,\ 是转义字符,单独一个
\
符号被双引号括起来后应该是"\\"
,因此你期望的\001
字符串,被双引号括起来后应该是"\\001"
。你需要传入的JSON字符串应该是:"{\"aaa\":\"\\\\001\"}"
iovurdzv5#
我是按照这个来的,解决了 https://juejin.im/post/5cf27f91e51d45773d4685b7