Gson用键解析数组数组

时间:2014-01-21 10:16:01

标签: java json gson

这是我的基础对象:

class Obj
{
  float t;
  String data;
  int y;
}

json example: {"t": 11.0,  "data": "7432",  "y": 0 }

我需要使用Gson解析java,这样的输入:

{
 "key1":[{"t": 4.0,  "data": "saer",  "y": 0 },..,{"t": 6.6,  "data": "dfs",  "y": 4 }],
 "key2":[{"t": 33,50,  "data": "3r2",  "y": 1 },...,{"t": 43.0,  "data": "54t",  "y": 3 }],
 ...
}

在PHP中我正在使用这个脚本:

    $decoded = json_decode($_POST['json']);             
    foreach ($decoded as $key => $single)
    {
        foreach ($single as $value) 
        {   
            // using $key, $value->t,...
        }           
    }

我怎样才能在java中做同样的事情?我很困惑如何回顾“关键”值。

由于

1 个答案:

答案 0 :(得分:2)

以简单的方式,您可以将其解析为

final Type typeOf= new TypeToken<Map<String,List<Obj>>>(){}.getType();
final Map<String,List<Obj>> map = new Gson().fromJson(Your_Json_String, typeOf);
// get value 
final  List<Obj> list = map.get("key1");