2017-10-19 10 views
-1

私はアンドロイドアプリケーションで作業しており、データを表示するために番号ピッカーを使用しています。 は、私は文字列として、このJSONを持っている:ハッシュマップのJsonデータを使用して、json配列データを正確に参照してください。numberPickerの文字列配列として使用します。

{"Acura": ["CL", "ILX", "Integra", "Legend", "MDX", "NSX", "RDX", "RL", "RLX", "RSX", "SLX", "TL", "TLX", "TSX", "Vigor", "ZDX", "Other Acura Models"], 
      "Alfa": ["164", "4C", "8C Competizione", "Giulia", "GTV-6", "Milano", "Spider", "Stelvio", "Other Alfa Romeo Models"], 
      "AMC": ["Alliance", "Concord", "Eagle", "Encore", "Spirit", "Other AMC Models"], 
      "Aston": ["DB11", "DB7", "DB9", "DBS", "Lagonda", "Rapide", "Rapide S", "V12 Vantage", "V8 Vantage", "Vanquish"]} . 

私は、単一のArrayListで、アストン、アキュラ、アルファ、AMC、などのオブジェクトを取得しようとしていた何を。私は別のnumberpickerでAcuraモデルを取得する方法がついていた、 私はデータの文字列配列を渡す必要があります。

これは私のあいまいな状況でした。

私はAcuraを選ぶときはいつでも、他のピッカーはAcuraモデルを表示するようにオブジェクトの文字列配列を持っています。

Alfaを選択すると、他の選択ツールがAlfaモデルを表示します。このために私はハッシュマップを持つ必要があると思う。それでも私は誰かがこの状況を助けることができる場合、それを実装する方法を知らない。ありがとう。

+1

のHashMap <文字列、ArrayListの>?あなたはGsonでそれを使用するだけです。ものすごく単純。 – luiscosta

答えて

0

あなたはMap<String,List<String>>

このような
Type mapType = new TypeToken<Map<String, List<String>>>() {}.getType(); 
Map<String, List<String>> source = new Gson().fromJson('your_json_string_here', mapType); 

にデータを格納し、このようにそれを反復処理する必要があります。

for (Map.Entry<String, List<String>> entry : source.entrySet()) { 

      String key = entry.getKey(); 
      List<String> values = entry.getValue(); 

      //Here you can write your code to do whatever you want 
     } 
+0

どのように私はそれを格納する、私は単一のJSON文字列を持って..? – user6768912

+0

私はこのHashMap carsDATA = new HashMap <>();にデータを格納します。 – user6768912

+0

あなたはgsonと解析する必要があります。私はあなたにコードを与えるために答えを編集します – Boukharist

関連する問題