2
GSONを使用したJSON解析ではBEGIN_OBJECTが必要でしたがBEGIN_ARRAYでした。 JSONを解析するためGSONを使用したJSON解析ではBEGIN_OBJECTが必要でしたが、BEGIN_ARRAYでした
static class Page {
String Status;
Data Data;
}
static class Data {
String ReportID;
}
static class Page1 {
String StatusCode;
String Status;
Data1 Data;
}
static class Data1 {
List <Data2> Data;
List<ColumnHeaders> ColumnHeaders;
List<ReportHeaders> ReportHeaders;
List<Summary> Summary;
}
static class Data2{
List<object1> object1;
}
static class object1 {
String Value;
}
static class ColumnHeaders {
String Title;
}
static class Summary {
String Value;
}
static class ReportHeaders {
String Value;
}
コード: は、私が使用してgsonを解析するためGSON
{
"StatusCode": 4,
"Data": {
"Data": [
[
{"Value": "19"},{"Value": "19"}],
[
{"Value": "77"},{"Value": "4"}
]
],
"ColumnHeaders": [
{
"Width": "11.0%",
"Title": "Date"
},
{
"Width": "7.6%",
"Title": "Total Clicks"
}
],
"ColumnHeaderGroups": [
{
"ColSpan": "1",
"Title": ""
},
{
"ColSpan": "7",
"Title": "Chats"
},
{
"ColSpan": "3",
"Title": "Times (HH:MM:SS)"
}
],
"ReportHeaders": [
{
"Name": "Title",
"Value": "Chat Summary By Date"
},
{
"Name": "Run Date",
"Value": "05/03/2016 10:52:39 AM"
},
{
"Name": "Time Zone",
"Value": "GMT+00:00"
}
],
"Summary": [
{
"Value": "96"
},
{
"Value": "23"
}
]
},
"Status": "success"
}
クラスを使用して解析する必要があるGson JSON実装 JSON形式に定義によるクラスに発生するエラーを取得していますgson使用: "19"、 "値": "19"、 "値": "77"、 "値": "4"
を する"値" 解析する必要があります
内部データ配列[]
Gson gson = new Gson();
Page1 page = gson.fromJson(json, Page1.class);
String statusString = page.Status;
System.out.println("Status : " + statusString);
System.out.println("StatusCode : " + page.StatusCode);
if ("success".equals(statusString)) {
System.out.println("Inside if");
for (ColumnHeaders item : page.Data.ColumnHeaders)
System.out.print(item.Title + " :");
System.out.println();
for (Summary item1 : page.Data.Summary)
System.out.print(item1.Value + " :");
}
にPOJOを変更してみてください。あなたの 'Data2'は' object1'という名前のフィールドを持つオブジェクトですが、あなたのJSONにはthatという名前のフィールドを持つオブジェクトはありません。 – Andreas