繁体   English   中英

使用 GSON 库获取 JSON 对象/数组而不转换为 pojos

[英]Getting JSON objects / arrays using GSON library without converting to pojos

我使用 jackson 将 json 字符串转换为 json 对象/数组,如下所示:

JSONObject jsonObj = XML.toJSONObject(myXmlString);
JSONObject userObj = jsonObj.getJSONObject("user"); // is there a GSON version of this? 
JSONArray orders = userObj.getJSONArray("orders");

我的主要问题是:是否有 GSON 版本可以在不转换为 pojo 的情况下获取 json 对象/数组? 我的 json 非常复杂,因此很难创建 pojo。

其次,gson 是否允许您像 jackson 那样将 xml 字符串转换为 json(第 1 行)?

对于第一个问题:

您可以从json 字符串创建一个JsonObject

String json = "{ \"key1\": \"value1\", \"key2\": false}";
JsonObject jsonObject = new JsonParser().parse(json).getAsJsonObject();

否则你可以创建一个Map对象

String jsonString = "{'employee.name':'Bob','employee.salary':10000}";
Gson gson = new Gson();
Map map = gson.fromJson(jsonString, Map.class);

供参考: https : //www.baeldung.com/gson-json-to-map

对于第二个问题:

我在stackoverflow中发现了这个问题

是否有 GSON 版本无需转换为 pojo 即可获取 json 对象/数组?

像这样的东西可以完成这项工作

import com.google.gson.*;

JsonParser parser = new JsonParser();

JsonElement json = parser.parse(myJsonString);

//get as object
JsonObject obj = json.getAsJsonObject();

//get as array
JsonArray arr = json.getAsJsonArray();

gson 是否允许您像 jackson 那样将 xml 字符串转换为 json

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM