用fastjson解析json,遇到字符串中的 . 就报错,求解决方法

lushuaicheng01 2018-04-26 10:55:42
{"ncpStackVersion":"6.2.0-147"},json串是这样。

控制台:


遇到点就停止了。

报错:
...全文
2022 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
天行归来 2018-04-26
  • 打赏
  • 举报
回复
是正常的,以下是测试代码: 代码

		String js = "{\"ncpStackVersion\":\"6.2.0-147\"}";
		JSONObject jsonObject = JSONObject.parseObject(js);
		System.out.println(jsonObject.toString());
输出 {"ncpStackVersion":"6.2.0-147"} 应该是有特殊字符或者json格式错误
天行归来 2018-04-26
  • 打赏
  • 举报
回复
4653664@qq.com
lushuaicheng01 2018-04-26
  • 打赏
  • 举报
回复
引用 8 楼 lynmison 的回复:
json数据源应该没问题,问题在于你代码数据转对象或者对象转字符串上有问题。
请问有联系方式吗!!!
lushuaicheng01 2018-04-26
  • 打赏
  • 举报
回复
引用 5 楼 lynmison 的回复:
相关的完整代码贴出来瞧瞧
还有那个布尔类型的true,我写成string不影响
天行归来 2018-04-26
  • 打赏
  • 举报
回复
json数据源应该没问题,问题在于你代码数据转对象或者对象转字符串上有问题。
lushuaicheng01 2018-04-26
  • 打赏
  • 举报
回复
引用 5 楼 lynmison 的回复:
相关的完整代码贴出来瞧瞧
这个json我改成{"ncpStackVersion":"620-147","networkUp":true,"networkPanId":"0x1234","radioTxPower":42,"radioChannel":21,"userId":11}这样就可以插入,很奇怪。
lushuaicheng01 2018-04-26
  • 打赏
  • 举报
回复

然后下面是调用set方法和jpa的save方法,把这些数据都入库。
这是没有改之前。
json完整的是:{"ncpStackVersion":"6.2.0-147","networkUp":true,"networkPanId":"0x1234","radioTxPower":42,"radioChannel":21,"userId":11}
我试了,我把第一个Version数据去掉,或者把这个数据里的小数点去掉,就可以插入。
lushuaicheng01 2018-04-26
  • 打赏
  • 举报
回复
引用 8 楼 lynmison 的回复:
json数据源应该没问题,问题在于你代码数据转对象或者对象转字符串上有问题。
那为啥去掉小数点就什么问题都没了。。。转应该转成功了
天行归来 2018-04-26
  • 打赏
  • 举报
回复
相关的完整代码贴出来瞧瞧
lushuaicheng01 2018-04-26
  • 打赏
  • 举报
回复
引用 3 楼 lynmison 的回复:
如果这样,外部这个就不是字符串了,应该是对象。
感谢,应该是这个问题。但是我如何解决。我调用JSON.toJSONString(json); 但是这个括号里只能是Object对象。我外部接收是按string。
天行归来 2018-04-26
  • 打赏
  • 举报
回复
如果这样,外部这个就不是字符串了,应该是对象。
lushuaicheng01 2018-04-26
  • 打赏
  • 举报
回复
引用 1 楼 lynmison 的回复:
是正常的,以下是测试代码: 代码

		String js = "{\"ncpStackVersion\":\"6.2.0-147\"}";
		JSONObject jsonObject = JSONObject.parseObject(js);
		System.out.println(jsonObject.toString());
输出 {"ncpStackVersion":"6.2.0-147"} 应该是有特殊字符或者json格式错误
但是我的json串是外部获取的,然后再把它丢进去解析,不带\这个转义符。

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧