【问题标题】:JSON to multidimentional array in android/javaJSON到android / java中的多维数组
【发布时间】:2011-02-08 17:07:40
【问题描述】:

我正在考虑为自己创建一个处理常见互联网相关功能的库。到目前为止,我有 http GET 和 POST 函数,现在我正在研究开发一个万能的 JSON 解析函数,它将作为字符串接收的 JSON 转换为可以搜索的多维关联数组.

我查看了stackoverflow,发现this link 看起来很有帮助,除了代码设计得非常具体。 org.json.* 中是否有一个很好的方便函数,可以让您将 JSON 字符串转换为多维关联数组,我可以在类外返回和操作?

谢谢, 约翰。

附言。我应该提一下,我之前对 java 的经验很少——我本质上是一名 PHP 开发人员。

【问题讨论】:

  • 与 JSONObject 相比,“多维关联数组”有什么优势?
  • 我不完全确定。作为一名 PHP 开发人员,我想一旦从 JSON 中提取数据,数组会更有用?
  • 你很少在 Java 中使用数组。如果有的话,它将是地图或其他东西的地图。然而,在你尝试创建一个“更好”的界面之前,你为什么不学习如何使用现有的界面,看看它是否适合你。标准的 JSON 接口相当简单。

标签: java android arrays json multidimensional-array


【解决方案1】:

我认为没有必要编写自己的 JSON 库。 Android 提供了很多您可以使用的功能,或者您可以使用我在以下方面取得了巨大成功的 GSON: http://code.google.com/p/google-gson/

看看它是多么容易:

// Serialise
String[] array = {"One","Two","Three"};
String json = new Gson().toJson(array);

// De-serialise
String[] array = new Gson().fromJson(json,String[].class);

GSON 适用于各种类,包括您自己的类对象、数组和一些集合。

需要注意的是,GSON 库不支持 Microsoft Web 服务器上的 API 使用的日期格式,但在这些情况下,我只是将数据提取到 String var 中,然后在类中处理某个日期使用我自己的解析。

【讨论】:

  • 谢谢,我目前一直在使用android的产品,但将来我可能会求助于GSON来处理更复杂的东西。我认为我之所以尝试编写本质上是 JSON 的包装器的原因是因为我试图将所有内容都尽可能保持为 OOP,但我没有意识到的是,除了它之外,它没有实现任何特定的好处正在将代码从一个地方移动到另一个地方。
  • GSON 实现得非常好,它甚至可以处理分层的类结构,所以只需向它扔一个对象,它就会序列化它。这是梦幻般的。日期格式问题很烦人(没有 JSON 日期格式标准,因此不同的供应商使用差异格式)但我只知道与 Microsoft Web 服务器 API 不兼容,因此可能会限制实际问题。 OOP 很棒,但最好避免重新发明轮子,专注于让应用变得更好。
猜你喜欢
  • 1970-01-01
  • 2014-11-06
  • 1970-01-01
  • 1970-01-01
  • 2015-01-06
  • 2017-03-27
  • 1970-01-01
  • 2022-01-19
  • 1970-01-01
相关资源
最近更新 更多