如何在 Java 中将 JSONObject 转换为 Map
How to convert JSONObject to Map in Java
我从客户端得到一个 JSONObject
,我想在 Java Spring-Boot 中将它转换为 Map
。有人知道我的数据结构的好方法吗?
Json 对象:
FilterObject: {
"firstName":
{"filterType":"text","type":"contains","filter":"emma"},...
}
映射到:
Map<String, ColumnFilter> filterMap;
public class ColumnFilter {
private String filterType;
private String type;
private String filter;
}
您可以使用此代码段:
String columnFilterJson = "{\"firstName\":{\"filterType\":\"text\",\"type\":\"contains\",\"filter\":\"emma\"}}";
ObjectMapper objectMapper = new ObjectMapper();
HashMap<String, ColumnFilter> columnFilterMap = objectMapper.readValue(columnFilterJson, new TypeReference<HashMap<String, ColumnFilter>>() {});
然后考虑到您的 ColumnFilter
class 有 toString()
方法,您可以检查结果:
for (Map.Entry<String, ColumnFilter> entry: columnFilterMap.entrySet()) {
String key = entry.getKey();
ColumnFilter value = entry.getValue();
System.out.println(key);
System.out.println(value);
}
我从客户端得到一个 JSONObject
,我想在 Java Spring-Boot 中将它转换为 Map
。有人知道我的数据结构的好方法吗?
Json 对象:
FilterObject: {
"firstName":
{"filterType":"text","type":"contains","filter":"emma"},...
}
映射到:
Map<String, ColumnFilter> filterMap;
public class ColumnFilter {
private String filterType;
private String type;
private String filter;
}
您可以使用此代码段:
String columnFilterJson = "{\"firstName\":{\"filterType\":\"text\",\"type\":\"contains\",\"filter\":\"emma\"}}";
ObjectMapper objectMapper = new ObjectMapper();
HashMap<String, ColumnFilter> columnFilterMap = objectMapper.readValue(columnFilterJson, new TypeReference<HashMap<String, ColumnFilter>>() {});
然后考虑到您的 ColumnFilter
class 有 toString()
方法,您可以检查结果:
for (Map.Entry<String, ColumnFilter> entry: columnFilterMap.entrySet()) {
String key = entry.getKey();
ColumnFilter value = entry.getValue();
System.out.println(key);
System.out.println(value);
}