解析具有许多字段的json对象

时间:2013-06-04 17:03:05

标签: java json parsing scala json4s

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

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

我使用Scala,但Java的方法可能与它类似,所以我也添加了Java标记。

2 个答案:

答案 0 :(得分:1)

我不知道json4s,但是在Jersey和杰克逊,你可以用Map来保存Json数据,或者你可以使用POJO和所有这些名字。

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

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

如果我没记错,使用纯粹的杰克逊你会做这样的事情:

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使其更加清晰。杰克逊的文档更多地讲述了它。这里还有更多:StackOverflow: JSON to Map

答案 1 :(得分:1)

通常有两种方法可以将json解析为object 1)将json解析为对象表示。 另一个可能适合你的,因为你提到你的对象有太多的字段是amap / hashtable,或者你可以把它保存为JObject,一个获取字段,你需要它们