先看数据格式:
可以看到,在value中有双引号。主要对应的key是position 和interests两个部分。
发现position 是单个字符串格式。 interests是对应的json数组的格式。所以分两步解决。
1.解决position对应的问题。
String str=""; str中是有问题的json数据
String newstr="";
String flag1="\"position\":\""; //标记1: "position":" 引号也要留着
String flag2="\",\"interests\":"; //下一个标签的开头作为标记 ","interests":
int start=str.indexOf(flag1); //起始位置int end=str.indexOf(flag2); //结束位置while(start>0) {
String conent=str.substring(start+flag1.length(),end); //将内容切割出来,第一个参数加上flag1的长度是为了找到开始。
conent=conent.replace("\"", "'"); //替换双引号为 ’ ,也可替换为其他