在hashmap中使用Json Data,用于精确引用json Array数据。并将其用作numberpicker的字符串数组

时间:2017-10-19 13:20:33

标签: java android json hashmap

我正在开发Android应用程序并使用数字选择器来显示数据。 我把这个json作为一个字符串:

{"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中获得像Acura,Alfa,AMC,Aston这样的对象。我被困在如何在另一个数字选择器中获得Acura模型, 我需要传递字符串数组数据。

所以这是我模棱两可的情况。

现在我需要的是,我有对象字符串数组,这样每当我选择Acura时,另一个选择器应该显示Acura模型。

如果我选择Alfa,其他选择器会显示Alfa模型。为此,我想我需要有hashmap。如果有人可以帮我解决这个问题,我仍然不知道如何实施。感谢。

1 个答案:

答案 0 :(得分: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
        }