21xrx.com
2024-12-15 00:51:56 Sunday
登录
文章检索 我的文章 写文章
Java中如何获取Object中的某个key的值?
2023-06-13 01:35:41 深夜i     --     --
Java Object key JSON Map Gson Jackson FastJson

在Java开发中,经常需要从一个对象中获取某个key对应的值。如果对象是一个普通的Java Bean,我们可以通过访问其属性的方式获取相应的值。但是,如果对象是一个JSON串或者Map,如何获取其中某个key的值呢?

我们可以通过JSON解析库或者Map的实现类来实现此功能。下面分别介绍两种情况的实现方法。

对于JSON串,通常的解析库有Gson、Jackson和FastJson等。以Gson为例,我们可以将JSON串解析成一个JsonObject,然后通过get方法获取对应key的值。例如,假设我们有一个JSON串如下:


{

 "name": "Alice",

 "age": 25,

 "address":

  "street": "Zhongguancun"

 

}

我们可以将其解析成一个JsonObject,并获取address中的city字段的值:


String json = "{\"name\":\"Alice\",\"age\":25,\"address\":{\"city\":\"Beijing\",\"street\":\"Zhongguancun\"}}";

JsonObject jsonObj = new Gson().fromJson(json, JsonObject.class);

String city = jsonObj.get("address").getAsJsonObject().get("city").getAsString();

对于Map,我们可以通过调用get方法获取对应key的值。例如,假设我们有一个Map如下:


Map map = new HashMap<>();

map.put("name", "Bob");

map.put("age", 30);

map.put("address", new HashMap () {{

  put("city", "Shanghai");

  put("street", "Lujiazui");

}});

我们可以直接获取address中的city字段的值:


String city = ((Map ) map.get("address")).get("city");

通过上述方法,我们可以轻松地获取Object中某个key对应的值,方便地进行后续的操作。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复