json扁平化转map
时间: 2024-08-31 11:01:12 浏览: 53
将 JSON 数据转换成 Java 的 Map(通常是一个 HashMap 或者 TreeMap)通常是 JSON 库如 Jackson、Gson 或 FastJson 等的一个常见操作。JSON 扁平化是指将嵌套的 JSON 结构展开,使得所有的数据都存储在一个层次化的键值对结构中。这里以 FastJson 为例介绍这个过程:
假设有一个复杂的 JSON 字符串:
```json
{
"person": {
"name": "John",
"age": 30,
"address": {
"city": "New York",
"country": "USA"
}
}
}
```
要将其转换为 Map,可以使用 FastJson 的 `parseObject` 方法,并传递一个 `Map<String, Object>` 实现的类作为目标类型。例如:
```java
import com.alibaba.fastjson.JSONObject;
import java.util.HashMap;
public class JsonToMapExample {
public static void main(String[] args) {
String jsonString = "{\"person\":{\"name\":\"John\",\"age\":30,\"address\":{\"city\":\"New York\",\"country\":\"USA\"}}}";
JSONObject jsonObject = JSONObject.parseObject(jsonString);
// 将 JSON 转换为 Map
HashMap<String, Object> map = new HashMap<>();
for (String key : jsonObject.keySet()) {
map.put(key, jsonObject.get(key));
}
System.out.println(map);
}
}
```
运行上述代码,输出结果将会是:
```bash
{person={name=John, age=30, address={city=New York, country=USA}}}
```
现在,`map` 已经包含了原始 JSON 的所有信息,扁平化了层次结构。