首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将JSON解析为Java object 4

将JSON解析为Java object 4
EN

Stack Overflow用户
提问于 2016-04-04 13:37:42
回答 2查看 74关注 0票数 -1

如何将嵌套的JSON解析为Java

代码语言:javascript
复制
{       
    "menu": {
        "id": "file",
        "value": "File",
        "popup": {
            "menuitem": [{
                "value": "New",
                "onclick": "CreateNewDoc"
            }, {
                "value": "Open",
                "onclick": "OpenDoc"
            }, {
                "value": "Close",
            "onclick": "CloseDoc"
            }]
        }
    }
}
EN

回答 2

Stack Overflow用户

发布于 2016-05-21 14:30:49

您可以使用其他修饰符,而不仅仅是public

代码语言:javascript
复制
public class MainMenu {

    public Menu menu;

    public class Menu {

        public String id;
        public String value;
        public Popup popup;

        public class Popup {

            public List<Item> menuitem;

            public class Item {
                public String value;
                public String onclick;
            }

        }

    }
}

示例

代码语言:javascript
复制
public class Example {

    public static void main(String[] args) {

        String json =     "{" +
                            "'menu': "+
                                "{" +
                                    "'id': 'file'," +
                                    "'value': 'File'," +
                                    "'popup': " +
                                        "{" +
                                            "'menuitem': " +
                                                "[{" +
                                                    "'value': 'New'," +
                                                    "'onclick': 'CreateNewDoc'" +
                                                   "}, {" +
                                                    "'value': 'Open'," +
                                                    "'onclick': 'OpenDoc'" +
                                                    "}, {" +
                                                    "'value': 'Close'," +
                                                    "'onclick': 'CloseDoc'" +
                                                "}]" +
                                        "}" +
                                "}" +
                            "}";
        Gson gson = new GsonBuilder().setPrettyPrinting().create();

        MainMenu mainMenu = gson.fromJson(json, MainMenu.class);

        System.out.println(gson.toJson(mainMenu));
    }
}

输出:

代码语言:javascript
复制
{
  "menu": {
    "id": "file",
    "value": "File",
    "popup": {
      "menuitem": [
        {
          "value": "New",
          "onclick": "CreateNewDoc"
        },
        {
          "value": "Open",
          "onclick": "OpenDoc"
        },
        {
          "value": "Close",
          "onclick": "CloseDoc"
        }
      ]
    }
  }
}

Maven依赖

代码语言:javascript
复制
    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.4</version>
    </dependency>
票数 0
EN

Stack Overflow用户

发布于 2018-06-12 02:56:15

代码语言:javascript
复制
{
  "items": {
    "item": [
      {
        "id": "0001",
        "type": "donut",
        "name": "Cake",
        "ppu": 0.55,
        "batters": {
          "batter": [
            {
              "id": "1001",
              "type": "Regular"
            },
            {
              "id": "1002",
              "type": "Chocolate"
            },
            {
              "id": "1003",
              "type": "Blueberry"
            },
            {
              "id": "1004",
              "type": "Devil's Food"
            }
          ]
        }
        "topping": [
          {
            "id": "5001",
            "type": "None"
          },
          {
            "id": "5002",
            "type": "Glazed"
          },
          {
            "id": "5005",
            "type": "Sugar"
          },
          {
            "id": "5007",
            "type": "Powdered Sugar"
          },
          {
            "id": "5006",
            "type": "Chocolate with Sprinkles"
          },
          {
            "id": "5003",
            "type": "Chocolate"
          },
          {
            "id": "5004",
            "type": "Maple"
          }
        ]
      }
    ]
  }
} 
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36395221

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档