Java知音_
2017-08-13 09:27
采纳率: 100%
浏览 3.5k
已采纳

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

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

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

8条回答 默认 最新

  • 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("\","");最快。
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 砸死接触 2017-08-13 09:56

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

    评论
    解决 无用
    打赏 举报
  • Java知音_ 2017-08-13 10:34

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

    评论
    解决 无用
    打赏 举报
  • 东风玖哥 2017-08-13 11:13

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

    评论
    解决 无用
    打赏 举报
  • cloudyzhao 2017-08-14 00:22

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

    评论
    解决 无用
    打赏 举报
  • 如果能跟着心在走 2017-08-14 03:01

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

    评论
    解决 无用
    打赏 举报
  • 微wx笑 2017-08-14 04:02

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

    评论
    解决 无用
    打赏 举报
  • Java知音_ 2017-08-14 07:45

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

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题