我从服务器请求数据,该服务器返回JSON格式的数据.在发出请求时将HashMap转换为JSON一点都不难,但另一种方式似乎有点棘手.JSON响应如下所示:

{ 
    "header" : { 
        "alerts" : [ 
            {
                "AlertID" : "2",
                "TSExpires" : null,
                "Target" : "1",
                "Text" : "woot",
                "Type" : "1"
            },
            { 
                "AlertID" : "3",
                "TSExpires" : null,
                "Target" : "1",
                "Text" : "woot",
                "Type" : "1"
            }
        ],
        "session" : "0bc8d0835f93ac3ebbf11560b2c5be9a"
    },
    "result" : "4be26bc400d3c"
}

什么方式最容易访问这些数据?我正在使用GSON模块.

推荐答案

干得好:

import java.lang.reflect.Type;
import com.google.gson.reflect.TypeToken;

Type type = new TypeToken<Map<String, String>>(){}.getType();
Map<String, String> myMap = gson.fromJson("{'k1':'apple','k2':'orange'}", type);

Java相关问答推荐

使用SaxonJ HE在收件箱中摆脱regex

为什么Java中的两个日期有差异?

Jooq外键关系

在spring—data中自动发现native—sql查询期间遇到重复的SQL别名[id]

有没有一种方法使保持活动设置专用于java.net.http.HttpClient的一个实例

S的字符串表示是双重精确的吗?

内存中的H2修剪尾随空格

为什么使用JDK21获取锁定锁比使用JDK11慢

在Spring终结点中,是否可以同时以大写和小写形式指定枚举常量?

Com.google.firebase.database.DatabaseException:无法将类型为java.lang.Boolean的值转换为字符串.这是关于什么的?

为什么我的回收视图会显示重复的列表?

如何集成语义发布和BitBucket(Java项目)

如何将Pane的图像快照保存为BMP?

如何在我的世界中为互动增加冷却时间?

有没有可能在时间范围内得到多种解决方案?

是否在settings.xml中使用条件Maven镜像?

为什么在下面的Java泛型方法中没有类型限制?

使用MediaPlayer类在一段时间后停止播放音乐

Kotlin-仅替换字符串中最后一个给定的字符串

Spring Boot Security-每个端点都被403禁止,Spring记录一个BasicErrorController#错误(HttpServlet请求)