【发布时间】:2017-09-29 00:11:24
【问题描述】:
我正在尝试在 java 中读取以下 json。
{
"guiCarport": {
"width": 500,
"depth": 500,
"height": 230
},
"guiRoof": {
"gableRoof": false,
"overhang": {
"sides": 20,
"front": 20,
"back": 20
}
},
"guiShed": {
"shed": false,
"depth": 300,
"doorPlacement": 0,
"side": "Foran",
"rotateDoor": false
}
}
到目前为止,我的 java 代码在 java servlet 中如下所示:
String json = (String) request.getParameter("json");
Gson gson = new Gson();
JsonObject obj = gson.fromJson(json, JsonObject.class);
JsonElement base = obj.get("guiCarport");
JsonElement roof = obj.get("guiRoof");
JsonElement shed = obj.get("guiShed");
读取对象的值并将它们分配给变量的最简单方法是什么?我为不同的对象创建了自定义类,但我需要一种首先获取值的方法。 谢谢!
【问题讨论】:
-
为什么不能立即将其转换为自定义类而不是转换为
JsonObject? -
我该怎么做?
-
把你的json放到这个网站jsonschema2pojo.org,选择
Gson然后点击zip,它会从你的json生成java类。然后只需使用gson.fromJson(json, Example.class)(或者如果你想重命名生成的Example.java其他东西),你的 json 将被转换为这些对象。