解决方案 »

  1.   

    这个需要源头处理,找提供接口的人 让他提供标准的JSON字符串给你不就行了·
      

  2.   

    这个需要源头处理,找提供接口的人 让他提供标准的JSON字符串给你不就行了·
    现在这个关键的就是联系这个源头的人很麻烦,希望的是自己能解决这个问题把~要不然就弄得太复杂了
      

  3.   

    你这个不好处理,根本就不是json了
      

  4.   

    那有没有办法取到所有title的值,只要删除title里面多出来的双引号就行了~~~~
      

  5.   

    你这个字符串不是标准的JSON字符串。
    所以不能用JSON来做解析,只能自己手动先做一些替换,才能解析
    比如用正则把双引号里面的双引号给替换成别的符合,这样就符合规范了。
      

  6.   

    string a = {"id":"FZ13082900190","type":"人口计生","title":"现在"新婚教育卡"在哪办","time1":"13-08-29","time2":"08-29","from":"网站"}a = a.split(,)[2].split(:)[1]
    b = a.substring(0,2)+a.substring(4,8)+a.substring(6,9)
    就是数个数吧“的下标空过去
      

  7.   

    还用正则?搞笑啊?
    这分明是未转义bug,一个有错误的字符串拿来做正则更正?哪有这种道理?
    常识上来说,造房子先选好适用的建材,然后组装,哪里会是 造完了,再拆除坏掉设计不合理的建材这种思路?应该是
    内容->转义->json而不是
    内容->json->排除不合理字符串 哪有这种写法?这样拼json字符串
    json = "{myKey:" + value.replace("\"","\\\"") + "}"
      

  8.   

    这个是对方的问题了!这样提供的json格式本身就是错误的!!
      

  9.   

    自己写个方法  把属性值中的双引号改成中文引号就可以了   
    private static String jsonString(String s){
    char[] temp = s.toCharArray();
    int n = temp.length;
    for(int i =0;i<n;i++){
    if(temp[i]==':'&&temp[i+1]=='"'){
    for(int j =i+2;j<n;j++){
    if(temp[j]=='"'){
    if(temp[j+1]!=',' &&  temp[j+1]!='}'){
    temp[j]='”';
    }else if(temp[j+1]==',' ||  temp[j+1]=='}'){
    break ;
    }
    }
    }
    }
    }
    return new String(temp);
    }