我想从服务器解析json并将其放入类中。我为此使用了json4s。问题是json对象包含太多字段,大约有40-50个字段,其中一些字段名称很长。
我想知道,存储所有这些内容的合理方法是什么,我是否必须在课堂上创建40-50个字段?请记住,正如我之前所说,其中一些将拥有长名称。
我使用Scala,但Java的方法可能与它类似,所以我也添加了Java标记。
答案 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,一个获取字段,你需要它们