如何使用For循环或While循环解析JSONObjects

时间:2016-10-23 08:37:10

标签: java android json loops

目前我正在使用Iterator循环来解析我的JSON对象。适用于中小型数据集。但是当我的数据集增加时,性能时间也会增加。例如:



 //groupedData is my JSONObject dataset
Iterator<String> iter = groupedData.keys();
            int i = 0;
            while (iter.hasNext()) {
                String key = iter.next();
                try {
                    Object value = groupedData.get(key);
                  //add the value to an entry
                    values_1.add(new Entry(Float.valueOf(String.valueOf(value)), i));
                  //add key to an arraylist
                    labels_1.add(key);
                } catch (JSONException e) {
                    // Something went wrong!
                }
                i++;
            }
&#13;
&#13;
&#13;

我将这些迭代器循环用于4个不同的数据集。它最终会耗尽所有东西。

挖掘之后,我得到了这个领先which showed results show that the Iterator mechanism is the slowest method to loop through a list. There's not much performance difference between the For and the While loop.

那么有没有更好的方法使用For或WHile循环遍历JSON对象?

我的JSONObject数据如下:

&#13;
&#13;
{
  "Admin": 19900,
  "James": 2000,
  "Steve": 1501,
  "Linda": 3840,
  "Grace": 2170,
  "Jeff": 1200,
  "Carolle": 350
}
&#13;
&#13;
&#13;

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

使用GSON解析JSON

试试这个,

Type type = new TypeToken<Map<String, String>>(){}.getType();
Map<String,String> map = new Gson().fromJson(groupedData.toString(), type);