问题原因
最近需要调用api接口,结果人家返回的数据格式竟然不是标准的json格式,而是String字符串格式;这就导致了我无法将api接口返回的参数直接转化为json字符串,so 小小的处理一下
###解决效果
代码
public static void main(String[] args) {
String str = needless();
System.out.println("这是转化为json格式后的数据=============");
JSONObject jsonObject = JSON.parseObject(str);
System.out.println(jsonObject);
}
/**
* java去掉两层双引号
* @return
*/
public static String needless(){
System.out.println("获取到的字符串格式=============");
//获取到的字符串形式参数
String str = "\"{\\\"n_xt\\\":\\\"NaN\\\",\\\"Pin\\\":\\\"NaN\\\"}\"";
System.out.println("first:"+str);
System.out.println("可以正常解析的格式=============");
//这是可以正常解析的格式
String stt = "{\"n_xt\":\"NaN\",\"Pin\":\"NaN\"}";
System.out.println("true:"+stt);
System.out.println("解析后的格式===================");
//去掉‘{’前边的双引号
str = str.replaceAll("\"\\{", "{");
//去掉‘}’后边的双引号
str = str.replaceAll("}\"", "}");
//去掉无用的双斜杠 \\
str = str.replaceAll("\\\\", "");
System.out.println("finale:"+str);
return str;
}
如果感觉有用,记得点个赞哦!您的鼓励是我持续更新的动力,一起努力,一起变更强,加油