【急】后台怎么处理JSON数据中含有双引号?? json数据asp.net 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个需要源头处理,找提供接口的人 让他提供标准的JSON字符串给你不就行了· 这个需要源头处理,找提供接口的人 让他提供标准的JSON字符串给你不就行了·现在这个关键的就是联系这个源头的人很麻烦,希望的是自己能解决这个问题把~要不然就弄得太复杂了 你这个不好处理,根本就不是json了 那有没有办法取到所有title的值,只要删除title里面多出来的双引号就行了~~~~ 你这个字符串不是标准的JSON字符串。所以不能用JSON来做解析,只能自己手动先做一些替换,才能解析比如用正则把双引号里面的双引号给替换成别的符合,这样就符合规范了。 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)就是数个数吧“的下标空过去 还用正则?搞笑啊?这分明是未转义bug,一个有错误的字符串拿来做正则更正?哪有这种道理?常识上来说,造房子先选好适用的建材,然后组装,哪里会是 造完了,再拆除坏掉设计不合理的建材这种思路?应该是内容->转义->json而不是内容->json->排除不合理字符串 哪有这种写法?这样拼json字符串json = "{myKey:" + value.replace("\"","\\\"") + "}" 这个是对方的问题了!这样提供的json格式本身就是错误的!! 自己写个方法 把属性值中的双引号改成中文引号就可以了 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); } 字符存储问题 级联更新 如何实现定时发邮件??? 关于绑定传值的问题 奇特的功能------互动消息 请问datagrid的ItemCommand只能触发一次? 关于校验控件 在treeview的递归算法中,它是根据什么退出递归呢? 怎样动态添加页面的背景音乐? gridview新增问题 asp.net excel导出格式问题 百分求微信 幸运大转盘、刮刮卡相关教程代码
现在这个关键的就是联系这个源头的人很麻烦,希望的是自己能解决这个问题把~要不然就弄得太复杂了
所以不能用JSON来做解析,只能自己手动先做一些替换,才能解析
比如用正则把双引号里面的双引号给替换成别的符合,这样就符合规范了。
b = a.substring(0,2)+a.substring(4,8)+a.substring(6,9)
就是数个数吧“的下标空过去
这分明是未转义bug,一个有错误的字符串拿来做正则更正?哪有这种道理?
常识上来说,造房子先选好适用的建材,然后组装,哪里会是 造完了,再拆除坏掉设计不合理的建材这种思路?应该是
内容->转义->json而不是
内容->json->排除不合理字符串 哪有这种写法?这样拼json字符串
json = "{myKey:" + value.replace("\"","\\\"") + "}"
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);
}