fastjson特殊字符报 illegal identifier : $ @wenshao
执行下面代码:
JSONObject j = JSONObject.parseObject("{$group:'type'}");
异常信息
Exception in thread "main" com.alibaba.fastjson.JSONException: illegal identifier : $
at com.alibaba.fastjson.parser.JSONLexerBase.scanSymbolUnQuoted(JSONLexerBase.java:847)
at com.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:267)
at com.alibaba.fastjson.parser.DefaultJSONParser.parse(DefaultJSONParser.java:1236)
at com.alibaba.fastjson.parser.DefaultJSONParser.parse(DefaultJSONParser.java:1205)
at com.alibaba.fastjson.JSON.parse(JSON.java:108)
at com.alibaba.fastjson.JSON.parse(JSON.java:99)
at com.alibaba.fastjson.JSON.parseObject(JSON.java:170)
at mongo.Test.main(Test.java:10)
这个怎么解决 @wenshao
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(11)
先在jsonlint里验证一下你的json格式数据是否正确。
引用来自“风筝上的少年”的评论
你这根本就不是JSON的啊,凭什么要求JSON不报错??本末倒置啊。
首先,JSON的键值是双引号,不是单引号,单引号绝对是错误的。
$group不加双引号就是错的。
不是json对象吧
引用来自“不语之禅”的评论
手工输入的又不是不能加引号
你这根本就不是JSON的啊,凭什么要求JSON不报错??本末倒置啊。
首先,JSON的键值是双引号,不是单引号,单引号绝对是错误的。
$group不加双引号就是错的。
手工输入的又不是不能加引号
json把对象转字符串格式的时候就会带上双引号,如果手工输入的话,你连json教研都不过吧。
回复
就是$符号导致出错了,如果去掉$符号的号是可以解析的
回复
你要先理解JSON 格式是怎么样的 。。
引用来自“zheng_pat”的评论
JSONObject j = JSONObject.parseObject("{"$group":'type'}");
JSONObject j = JSONObject.parseObject("{"$group":'type'}");