Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用GSON库获取JSON对象/数组而不转换为POJO_Java_Json_Jackson_Gson - Fatal编程技术网

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

Java 使用GSON库获取JSON对象/数组而不转换为POJO,java,json,jackson,gson,Java,Json,Jackson,Gson,我使用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版本可

我使用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();
否则,您可以创建一个
映射
对象

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

关于第二个问题:

我在stackoverflow中发现了问题

是否有一个GSON版本的获取json对象/数组而不需要 转换成pojo

像这样的东西可以做这项工作

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


您可能希望尝试将json反序列化为HashMap,而不是使用POJO。我在我的项目中这样做,一切都很好。要获得HashMap的值,您需要知道它们是预定义的键。在编写代码之前,您是否阅读了他需要的内容,您应该阅读以下问题:您的意思是什么?我的答案正是他需要的(?),他有json字符串,必须用GSON转换,而不使用POJO。我的代码就是这样做的。我错过了一些明显的东西吗?对于第二个,很遗憾,我不能使用jaxb。你不认为格森一个人能做到吗?