java - 解析具有多个字段的 json 对象

标签 java json parsing scala json4s

我想从服务器解析 json 并将其放入一个类中。我用json4s为了这。问题是 json 对象包含太多字段,大约有 40-50 个字段,其中一些字段名称很长。

我想知道,存储所有这些的合理方法是什么,我是否必须在一个类中创建 40-50 个字段?请记住,正如我之前所说,其中一些名称会很长。

我用的是Scala,但是Java的做法可能和它类似,所以我也添加了Java的标签。

最佳答案

我不知道 json4s,但在 Jersey with Jackson 中,例如,您可以使用 Map 来保存 Json 数据,也可以使用具有所有这些名称的 POJO。

有时最好有名字。它使代码更容易理解。

有时使用 map 会更好。例如,如果字段名称不时更改。

如果我没记错的话,使用纯 jackson 你会做这样的事情:

String jsonString = ....; // This is the string of JSON stuff
JsonFactory factory = new JsonFactory(); 
ObjectMapper mapper = new ObjectMapper(factory);  // A Jackson class
Map<String,Object> data = mapper.readValue(jsonString, HashMap.class); 

您可以使用TypeReference 使其在泛型方面更加简洁。 jackson 医生讲述了更多相关内容。这里还有更多:StackOverflow: JSON to Map

关于java - 解析具有多个字段的 json 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16923537/

相关文章:

javascript - 如何从 ASP.NET MVC 4 Controller 捕获 JSON 结果?

c - 哪种语言有助于为有效的 C 程序创建报告

json - shell 脚本解析问题 : unexpected INVALID_CHARACTER (Windows cmd shell quoting issues? )

java - 如何设计:避免在随机访问文件时资源泄漏

javascript - 使用 For 循环、If 语句和 ng-repeat 显示数组项(json)

java - 如何禁用 IntelliJ 中的 "Optional used as field or parameter type"警告?

javascript - 根据 toFixed(2),为什么小数不能正确显示?

parsing - 在 Go 中并发解析二进制文件中的记录

java - 排序——是否可以很好地使用子数组进行排序?

java - 我怎样才能调用 finalize()