JSON Jackson 是一个 Java 库,它具有非常强大的数据绑定功能,并提供了一个将自定义 java 对象序列化为 JSON 以及将 JSON 反序列化回 Java 对象的框架。我们可以转换JSON到/从
Map使用com.fasterxml.jackson.databind.ObjectMapper类的readValue()和writeValueAsString()方法。
JSON 到映射
语法
public T readValue(String content, TypeReference valueTypeRef) throws IOException, JsonParseException, JsonMappingException
登录后复制
示例
import java.io.*;
import java.util.*;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.core.type.TypeReference;
public class ConvertJSONToMapTest {
public static void main(String args[]) {
try {
ObjectMapper mapper = new ObjectMapper();
String jsonString = "{"Name":"Raja", "Technology":"Java"}";
Map jsonMap = new HashMap();
jsonMap = mapper.readValue(jsonString, new TypeReference(){}); // converts JSON to Map
System.out.println(jsonMap);
} catch(IOException ie) {
ie.printStackTrace();
}
}
}
登录后复制
输出
{Name=Raja, Technology=Java}
登录后复制
映射到 JSON
语法
public String writeValueAsString(Object value) throws JsonProcessingException
登录后复制
示例
import java.io.*;
import java.util.*;
import com.fasterxml.jackson.core.*;
import com.fasterxml.jackson.databind.ObjectMapper;
public class ConvertMapToJSONTest {
public static void main(String args[]) throws IOException {
ObjectMapper mapper = new ObjectMapper();
String jsonString = "";
Map map = new HashMap();
map.put("Raja", "Java Technology");
map.put("Ravi", "Python Technology");
map.put("Adithya", "Spark Technology");
map.put("Vamsi", "Web Technology");
jsonString = mapper.writeValueAsString(map); // converts Map to JSON
System.out.println(map);
}
}
登录后复制
输出
{"Raja":"Java Technology", "Vamsi":"Web Technology", "Ravi":"Python Technology", "Adithya":"Spark Technology"}
登录后复制
以上就是在Java中使用Jackson库将JSON转换为Map或将Map转换为JSON?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!