2016-05-03 9 views
0

私は勉強中です。 Do not not me))) JSONを配列から文字列にパースする方法を読んでいましたが、私の文書は2つの属性から始まり、次に配列に入ります。配列の前にjsonを解析します。

"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 
    } 

私の配列は "引用符"です。 配列の前に2つの項目を処理する方法は?

最後に配列には50の項目があります。これを画面に表示する最も良い方法は、配列内の各項目の "total"と "last" + textviewsの2つのtextviewを持つListViewを使用することです。

+0

これは有効なJSONではありません - [この](http://pro.jsonlint.com/) – Skynet

+0

有効なJSONのようなものになります参照してください: "最後" 56964、 :: '{ "合計" を「2016- 05から0309:12:00" 、 "引用符":[ { "ID":439124、 "説明":「XXX:Адавайкакую-нибудьфирмузаведем
YYY:?o.OЗачем
:XXXНу、уменяжеаллергия。 Кошекнельзя:)」、 "時間": "2016-05-0309:12:00"、 "評価":0 }] } ' – Skynet

+0

まあ、downlでき私のターゲットjsonのoad。それが役立つだろう? –

答えて

1

これを試してみてください:

   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を一つずつ抽出します。

totalおよびlastは、引用配列の前に2つの変数を保持します。あなたは自分のクラス宣言の後にプライベート静的文字列としてあなたのJSONのノードを定義することができますベストプラクティスとして

private static String TOTAL = "total" 
+0

私は見る!ありがとう!私はそれを使用します! –

+0

更新された回答を確認してください。 – Skynet

+0

この回答が時間を節約するのに役立ちましたら、受け入れられたように印を付けることができます: – Skynet

0

あなたがオブジェクトにそれを解析し、そのオブジェクトを介してプロパティにアクセスするためにgson使用することができます。したがって、「合計」はintまたはdoubleになります。そして「最後」は文字列になります。次に、あなたの引用は、オブジェクトがjsonarrayの各jsonオブジェクト項目のプロパティを持つリストになります。

関連する問題