方法
private boolean isJSONValid(String test) {
try {
gson.fromJson(test, Object.class);
return true;
} catch (com.google.gson.JsonSyntaxException ex) {
return false;
}
}
在此JSON上返回false - {"R":"CsIGAADwPxIESS5PSw==","I":"70"}
我相信这是正常的JSON,如果没有,请证明我,并告诉我为什么
答案 0 :(得分:0)
我已经尝试过您的代码,但它运行正常:
public static void main( String[] args ){
System.out.println( isJSONValid( "{'R':'CsIGAADwPxIESS5PSw==','I':'70'}" ) );
}
private static boolean isJSONValid( String test ){
try{
new Gson().fromJson( test, Object.class );
return true;
}
catch( com.google.gson.JsonSyntaxException ex ){
return false;
}
}
这会打印true
。您的问题可能是传入的String
上看不见的unicode字符。请每次都记录您的例外情况!澄清它。
答案 1 :(得分:0)
它正常工作......当转义双引号时....
import com.google.gson.Gson;
公共课测试{
private boolean isJSONValid(String test) {
try {
Gson gson = new Gson();
gson.fromJson(test, Object.class);
return true;
} catch (com.google.gson.JsonSyntaxException ex) {
System.out.println(ex);
return false;
}
}
public static void main(String[] args) {
Testing isj = new Testing();
String test = "{\"R\":\"CsIGAADwPxIESS5PSw==\",\"I\":\"70\"}";
System.out.println(isj.isJSONValid(test));
}
}