fastjson用jsonobject转map
时间: 2023-10-31 15:09:04 浏览: 101
可以使用Fastjson的JSONObject的getInnerMap()方法,将JSONObject对象转换成Map对象。
示例代码:
```
import com.alibaba.fastjson.JSONObject;
import java.util.HashMap;
import java.util.Map;
public class FastjsonDemo {
public static void main(String[] args) {
// 创建JSONObject对象
JSONObject jsonObject = new JSONObject();
jsonObject.put("name", "张三");
jsonObject.put("age", 18);
jsonObject.put("gender", "男");
// 将JSONObject对象转换成Map对象
Map<String, Object> map = jsonObject.getInnerMap();
// 输出Map对象
System.out.println(map);
}
}
```
输出结果:
```
{name=张三, gender=男, age=18}
```
相关问题
JDK8 com.alibaba.fastjson.JSONObject转换Map<String, BigDecimal>
在JDK 8中,如果你想要将`com.alibaba.fastjson.JSONObject`转换成`Map<String, BigDecimal>`,你可以使用Fastjson库提供的便捷方法。首先,你需要添加fastjson的依赖到你的项目中。
以下是一个示例:
```java
import java.util.Map;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
public class Main {
public static void main(String[] args) {
// 假设你有一个JSONObject
JSONObject jsonObject = JSON.parseObject("{\"key1\":123.45, \"key2\":678.90}");
// 使用JSONUtil可以直接转化为Map
Map<String, BigDecimal> map = JSON.parseObject(jsonObject.toJSONString(), Map.class);
// 现在map变量包含了键值对(key1:123.45, key2:678.90)
System.out.println(map.get("key1")); // 输出:123.45
System.out.println(map.get("key2")); // 输出:678.90
怎么将com.alibaba.fastjson.JSONObject转化为Map<String,String>
可以使用FastJson提供的方法将JSONObject转化为Map<String, Object>类型,然后再遍历Map将其转化为Map<String, String>类型。
示例代码如下:
```java
import java.util.HashMap;
import java.util.Map;
import com.alibaba.fastjson.JSONObject;
public class JsonToMap {
public static void main(String[] args) {
JSONObject json = new JSONObject();
json.put("name", "张三");
json.put("age", 18);
json.put("gender", "男");
// 将JSONObject转化为Map<String, Object>
Map<String, Object> map = json.getInnerMap();
// 遍历Map将其转化为Map<String, String>
Map<String, String> stringMap = new HashMap<String, String>();
for (Map.Entry<String, Object> entry : map.entrySet()) {
String key = entry.getKey();
String value = entry.getValue().toString();
stringMap.put(key, value);
}
System.out.println(stringMap);
// 输出结果:{name=张三, age=18, gender=男}
}
}
```
注意:如果JSONObject中包含了非String类型的值,转化为Map<String, String>类型时需要进行类型转换,否则会抛出ClassCastException异常。
阅读全文