【发布时间】:2016-08-10 10:31:22
【问题描述】:
我正在尝试比较两个 JSON 字符串。以下是我的 Java 代码:
String json1 = "C:\\test1.json";
String json2 = "C:\\test2.json";
Gson g = new Gson();
Type mapType = new TypeToken<Map<String, Object>>(){}.getType();
Map<String, Object> firstMap = g.fromJson(json1, mapType);
Map<String, Object> secondMap = g.fromJson(json2, mapType);
System.out.println(Maps.difference(firstMap, secondMap));
以下是我的 JSON 文件格式
我的 Json 1
{
"00601":{
"type":"zipcode",
"assignment":"South Monroe, MI"
},
"00602":{
"type":"zipcode",
"assignment":"South Monroe, MI"
},
"00603":{
"type":"zipcode",
"assignment":"South Monroe, MI"
}
}
我的 Json 2
{
"00601":{
"type":"zipcode",
"assignment":"South Monroe, MI"
},
"00602":{
"type":"zipcode",
"assignment":"South Monroe, MI"
},
"00603":{
"type":"zipcode",
"assignment":"South Monroe, MI"
}
}
但仍面临问题:
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING
【问题讨论】:
-
所以问题是
Gson#fromJson抛出一些异常?也许您可以改写问题并发布完整的堆栈跟踪..