[英]Serialize objects with Gson into arbitrary JSON arrays without getting warnings
[英]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.