首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >最适合表示JSON的Java数据结构是什么?

最适合表示JSON的Java数据结构是什么?
EN

Stack Overflow用户
提问于 2012-12-14 02:21:43
回答 4查看 8.4K关注 0票数 3

我正在开发一个RESTful安卓手机客户端。我的应用程序和服务器之间的信息交换是用JSON实现的。所以我现在有点困惑,选择什么数据结构来表示JSON响应和数据,因为它们太多了。我刚刚停止使用LinkedHashMap<>,但据我所知,JSON是无序的。在互联网上,我看到人们使用Map<>或HashMap<>来做这件事。

因此,问题是什么是用于此目的的最佳数据结构?或者如果没有一个明确的答案--使用我提到的数据结构的利弊。

EN

回答 4

Stack Overflow用户

发布于 2012-12-14 02:26:55

您是在谈论接收和解析来自服务器请求的JSON字符串吗?

为此,您可以使用:

代码语言:javascript
复制
import org.json.JSONArray;
import org.json.JSONObject;

使用这些方法,我从POST请求中读取了JSON数组,并将结果信息存储在项目的Class对象中。

对于JSONArray中的每个项目,您可以提取JSONObject和属性,如下所示:

代码语言:javascript
复制
for (int i = 0; i < jsonArray.length(); i++) {
    JSONObject jsonObject = jsonArray.getJSONObject(i);
    jsonObject.getString("text");
}

就实际存储数据而言,如上所述,JSON数据可以采用多种格式,具体取决于数据源,因此,通常在客户端对其进行解析,并将其保存在应用程序类对象中以供使用。或者更一般地说,您可以使用Map<String, Object>存储数据

票数 2
EN

Stack Overflow用户

发布于 2018-08-15 04:07:52

这无疑是我见过的最好的答案:

https://dzone.com/articles/which-is-the-right-java-abstraction-for-json

摘要:有三个抽象: pojos、映射和列表,以及表示对象、数组和原语的自定义类。每种方法都有优缺点,没有明确的赢家。

Pojos有最大的优势,但你不能总是使用它们。如果可以,请使用它们,如果需要,请使用其他工具。

票数 1
EN

Stack Overflow用户

发布于 2012-12-14 02:39:39

如果你要做的不是最简单的映射,那么你应该使用一个完整的类结构。创建类层次结构作为JSON中数据结构的镜像,并使用Jackson通过ObjectMapper将JSON直接映射到类层次结构。

使用这种解决方案,您不需要将Object强制转换为Map,也不需要使用JSONObject或JSONArray,也不需要在代码中进行任何多级映射遍历。您只需获取JSON字符串,将其提供给ObjectMapper,然后获得一个您的对象,其中包含由ObjectMapper自动映射的子对象(甚至是集合)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13866039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档