2013-02-05 154 views
0

我正在開發一個Android應用程序。該應用程序將數據作爲JSON字符串(大學和學生名單的名稱)並根據數據操作應用程序。創建對象與閱讀Json

什麼是更好的方法?

  • 創建一個新對象,並解析JSON字符串到它,並以該對象的工作,或
  • 保持JSON字符串,只需使用的JSONObject每當我需要從字符串中抓取信息
  • 或者任何其他方式?

如果我正在使用新的對象,我該如何將應用程序中的其他活動與對象進行轉移(或共享)? 我知道對於字符串我們可以使用putextra()

回答

0

我會推薦解析字符串(或使用庫來爲你做這個!)並填充一個對象。這樣,模型對象就可以控制數據以及如何與其他對象共享數據,並使用內部數據結構來優化使用。如果你堅持使用JSON字符串,你最終會多次解析它以提取數據。

但是,您決定跨活動共享對象/字符串不應影響您如何對數據建模的決策。在任何情況下,您都可能最終將其傳遞給各種活動。

0

我幾乎總是將JsonObject解析爲一個特定的對象E.g.一流的大學。

這樣做的好處之一是,你可以很好地把它放入集合。例如。 HashMaps,Set或者直接List。將它作爲JsonObject處理時,您將無法輕鬆使用它。

如果Object繼承Comparable並且可以定義equals/toString/hashCode,那麼可以對其進行排序。

有一些其他的好處,但我認爲你會發現拿着這些數據在實際數據結構會給你最受益

+0

我可以通過一個對象(讓我們說大學)到另一個活動? –

+0

你可以 - 它並不完全像人們希望的那樣微不足道,但它不是太糟糕:http://stackoverflow.com/questions/5621132/passing-custom-objects-between-activities –

0

我建議你使用對象了。

你可以使用Gson庫在json字符串和對象之間進行任何轉換。它非常非常容易使用。 http://code.google.com/p/google-gson/

要在其他活動之間傳輸數據,您可以使您的對象實現接口Serializable,這樣您可以使用.putExtra()並將其傳遞。

+0

不客氣:) –