在数组之前解析json

时间:2016-05-03 20:04:29

标签: android json parsing

我正在读书。请不要踢我))) 我正在阅读如何将JSON从数组解析为字符串,但我的文档以2个属性开始,然后才进入数组。

"total": 56964,
"last": "2016-05-03 09:12:00",
"quotes": [
    {
        "id": 439124,
        "description": "Xxx: А давай какую-нибудь фирму заведем.<br>Yyy: o.O Зачем?<br>Xxx: Ну, у меня же аллергия. Кошек нельзя :)",
        "time": "2016-05-03 09:12:00",
        "rating": 0
    }

这是我的数组“引号”。 我怎么必须在数组之前处理两个项目?

最后。 Array有50个项目。在屏幕上显示此功能的最佳方法是使用带有2个textview的ListView,为数组中的每个项目选择“total”和“last”+ textviews?

2 个答案:

答案 0 :(得分:2)

试试这个:

               try {
                    String json = ""; // This should be the JSON from Your API
                    JSONObject jObj = new JSONObject(json);
                    String total = jObj.optString("total");
                    String last = jObj.optString("last");
                    JSONArray jsonArray = jObj.getJSONArray("quotes");

                } catch (JSONException jex) {
                    jex.printStackTrace();
                }

jsonArray现在保存引号数组,使用for循环并逐个提取嵌套的JSONObjects。

totallast在引号数组之前保存两个变量。

作为最佳实践,您可以在类声明之后将JSON节点定义为私有静态字符串:

private static String TOTAL = "total"

答案 1 :(得分:0)

您可以使用gson将其解析为对象,然后通过该对象访问属性。这样&#34;总计&#34;将是一个int或双。并且&#34;最后&#34;将是一个字符串。然后你的引号将是一个List,其中object将具有jsonarray中每个json对象项的属性。