簡體   English   中英

如何使用gson從嵌套的JSON文件創建Java對象?

[英]How to create Java objects from a nested JSON file using gson?

我正在嘗試使用gson幫助我從JSON創建Java對象。 一些示例示例將非常有幫助。

編輯1:樣本JSON:

{
  "version": "1.2.1",
  "updatedate": "16/08/2015",
  "comment": "Sample JSON.",
  "categories": [
    {
      "name": "Service",
      "id": 13,
      "taxesIDs": [],
      "taxTypeID": 3
    }
  ],
  "countries": [
    {
      "name": "Canada",
      "id": 4
    }
  ],
  "states": [
    {
      "name": "Yukon",
      "id": 151,
      "country": "Canada",
      "price": [
        {
          "name": "Sales",
          "id": 1,
          "taxes": [
            {
              "name": "General",
              "id": 1,
              "percent": 0
            },
            {
              "name": "Electronics",
              "id": 19,
              "percent": 5
            }
          ]
        },
        {
          "name": "Income",
          "id": 2,
          "taxes": [
            {},
            {}
          ]
        },
        {
          "name": "Service",
          "id": 3,
          "taxes": [
            {},
            {}
          ]
        }
      ]
    }
  ]
}

我想解析上述JSON並使用相同的層次結構創建Java類。 謝謝。

使用鏈接從json創建Java pojo類。

比使用這樣的課程,

YourObject obj = gson.fromJson(yourjsonstring, YourObject.class);

有關更多信息,請單擊鏈接。

我們只需要以與JSON相同的方式來構造Java類。 特別是在我的情況下:

Class Source {
String version, comment, updatedate;
Category[] categories;
Country[] countries;
State[] states;
}

Class Category {
String name;
...
}

對於州,價格,稅類也是如此。

一旦數據結構准備就緒,就可以使用@serhatSS提到的GSON。

String jsonString = new String(data);    // You have data in response
Gson gson = new Gson();
Source source = gson.fromJson(jsonString, Source.class);

現在,Source類將在其成員中包含所有數據,並且可以通過以下方式訪問:

Source.countries  // of type Country
Source.comment    // String

謝謝!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM