weixin_36380516
Java知音_
采纳率100%
2017-08-13 09:27 阅读 3.3k
已采纳

Java中json字符串转Java实体对象问题

20

现在有个问题,从第三方平台取来的json字符串,前三个json对象没有反斜杠,后面的却都有,导致转Java对象的时候出现JsonMappingException异常,这个怎么解决??
类似:{"a":1,"b":2,"c":"{\"c1\":\"ccc\"}"}这种

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

8条回答 默认 最新

  • 已采纳
    zhang_kang_user zk_Kang 2017-08-14 03:18

    这个问题是第三方传递过来的json值,例如c下的值,它是一个json字符串,直接赋给c,就会出现空格,需要处理下,例如
    var le = $.parseJSON(datas);//datas为c下的json字符串
    var dss=jQuery.parseJSON('{"total":null ,"page": 1,"c":[]}');//将c下的字符串循环拿出,放入新的json中,就不会出现'\'
    if(le && le.length>0){
    dss["total"]= le.length;
    for(var i=0;i<le.length;i++){
    var fkdRw={
    "HTH":le[i].HTH,
    "WLDW":le[i].WLDW,
    "WLDWMC":le[i].WLDWMC,
    "JLBH":le[i].JLBH,
    "FPHM":le[i].FPHM,
    "FPJE":le[i].FPJE,
    "KPRQ":le[i].KPRQ,
    "YWSHRQ":le[i].YWSHRQ,
    };
    dss["c"].push(fkdRw);
    }
    }

    因为它传过来的是一个json的字符串,你直接,string.replace("\","");最快。
    
    点赞 评论 复制链接分享
  • qq_33727653 砸死接触 2017-08-13 09:56

    异常与反斜杠有什么关系?
    反斜杠是json在toString的时候 反斜杠是在转义你的引号。在我看来异常并不是反斜杠报的。。。

    点赞 评论 复制链接分享
  • weixin_36380516 Java知音_ 2017-08-13 10:34

    晕,根本不需要补上反斜杠,补上太麻烦怎么也想不到怎么补,然后就把他的全部斜杆去掉了,去掉好去。。。。
    方法:
    String s2 = s1.replace("\\", "");
    结果正确!

    点赞 评论 复制链接分享
  • dongfeng9ge 东风玖哥 2017-08-13 11:13

    你可以试试先去掉反斜杠再解析

    点赞 评论 复制链接分享
  • zy841958835 cloudyzhao 2017-08-14 00:22

    去掉斜杠 然后再解析 就可以了
    String.replace("\","")

    点赞 评论 复制链接分享
  • u013240223 如果能跟着心在走 2017-08-14 03:01

    来源问题,如果他能处理是最好

    点赞 评论 复制链接分享
  • testcs_dn 微wx笑 2017-08-14 04:02

    你是用的哪种方法?
    试试这个:http://blog.csdn.net/testcs_dn/article/details/42711339

    点赞 评论 复制链接分享
  • weixin_36380516 Java知音_ 2017-08-14 07:45

    问题已经解决了,是不断的替换里面引起报错的空格,反斜杠,换行符标志等等,基本就是replace(),把第三方传来的不正常的json给他搞正常喽,就是有些繁琐。各位有高招的还可以继续说说!

    点赞 评论 复制链接分享

相关推荐