java - GSON - 转换字符串不区分大小写

标签 java json gson

我想读出键值对。但要确保 key 可以不区分大小写地读出。但该值必须区分大小写!我怎样才能做到这一点?

我这里有一个像这样的字符串:

String json = "[\n"
            + "   {\n"
            + "      \"Id\":\"Service1\",\n"
            + "      \"Version\":\"b1\"\n"
            + "   },\n"
            + "   {\n"
            + "      \"Id\":\"TestService2\",\n"
            + "      \"Version\":\"b1\"\n"
            + "   }\n"
            + "]";

在 Java 中,我在这里这样做是为了获取 map 列表:

Gson gson = new Gson();
List<Map> list = gson.fromJson(json, List.class);

但我想确定一下,在使用 Java 读取信息时,idversion 不区分大小写。

for (int i = 0; i < list.size(); i++) {
  System.out.println("Element: " + list.get(i).get("id"));
}

有什么想法可以解决这个问题吗?

最佳答案

尝试传递类型:

List<Map> listFromThread =  new Gson().fromJson(string_json, new TypeToken<ArrayList<Map>>() { }.getType());

关于java - GSON - 转换字符串不区分大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40629901/

相关文章:

java - Ruby 是否像 Java 一样跨平台?

java - 声明 List<Integer> 与 ArrayList<Integer> 之间有什么区别?

java - 动态设置Fragment时出错

java - 初始化 Jetty+Jersey

c# - 将对象转换为 JSON,然后将该 JSON 下载为文本文件 [Asp.net core]

java - 如何使用 Jackson 将对象转换为使用默认类型的 map ?

java - JSONArray 中元素的顺序

java - JsonSerializer 不适用于使用 GSON 的嵌套对象

java - 在不反序列化的情况下从 JSON 字符串中的任何位置删除键

java - 如何正确使用Gson通过静态实用方法反序列化泛型类型的对象?