创建对象与阅读Json

时间:2013-02-05 13:10:21

标签: java android json object

我正在开发Android应用。该应用程序将数据作为JSON字符串(大学和学生列表的名称)获取,并根据数据操作应用程序。

什么是更好的方法?

  • 创建一个新的Object并将JSON字符串解析为它,并使用该对象或
  • 保留JSON字符串,只要我需要从字符串中获取信息
  • ,就使用JSONObject
  • 还是其他任何方式?

如果我正在使用新对象,我如何与应用程序中的其他活动一起传输(或共享)该对象? 我知道,对于字符串,我们可以使用putextra()

4 个答案:

答案 0 :(得分:1)

使用物体。
我建议使用Jackson library, 因为它非常快速且容易进入 你可以在这里找到代码示例:
http://www.mkyong.com/java/how-to-convert-java-object-to-from-json-jackson/

P.S。 :Jackson不是这种方法的唯一库> Jackson Vs. Gson

答案 1 :(得分:0)

我建议解析字符串(或使用库为你执行此操作!)并填充对象。这样,模型对象可以控制数据以及如何与其他对象共享,并使用内部数据结构来优化使用。如果您坚持使用JSON字符串,则最终会多次解析它以提取数据。

但是,您决定跨活动共享对象/字符串不应影响您对如何建模数据的决策。无论如何,你最终可能会将它传递给活动。

答案 2 :(得分:0)

我几乎总是将JsonObject解析为特定对象E.g.大学班级。

这样做的一个好处是,你可以很好地把它放到收藏中。例如。 HashMaps,Set或只是直接列表。将它作为JsonObject处理时,您将无法轻松使用它。

如果对象继承了Comparable,你可以对它进行排序,并且可以定义equals / toString / hashCode。

还有许多其他好处,但我认为您会发现在实际数据结构中保存数据会给您带来最大收益

答案 3 :(得分:0)

我建议您也使用对象。

您可以使用Gson库在json字符串和对象之间进行任何转换。它非常非常容易使用。 http://code.google.com/p/google-gson/

要在其他活动之间传输数据,您可以使对象实现Serializable界面,这样您就可以使用.putExtra()并将其向前传递。