java - Gson 用键解析数组的数组

标签 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中做同样的事情?我很困惑如何检索“关键”值。

谢谢

最佳答案

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

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");

关于java - Gson 用键解析数组的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21255184/

相关文章:

java - Minecraft 启动器登录代码

json - 无法将对象解码为 []uint8 类型的 Go 值

Javascript 递归标准化 JSON 数据

Java Gson .add 函数不采用 String 参数(maven 项目)

java - JSON值类型是否需要严格定义?

java - 如何使用 google Guice 创建相同类型的多个实例

java - java的二叉树前序、后序和中序

java - 数据传输对象是否与值对象相同?

javascript - 如何通过多个属性对 javascript 对象数组进行分组?

java - Android - 将嵌套 map 转换为 JSON 字符串