首页 >Java >java教程 >在Java中使用Jackson库将JSON转换为Map或将Map转换为JSON?

在Java中使用Jackson库将JSON转换为Map或将Map转换为JSON?

王林
王林转载
2023-08-29 09:33:06896浏览

在Java中使用Jackson库将JSON转换为Map或将Map转换为JSON?

JSON Jackson 是一个 Java 库,它具有非常强大的数据绑定功能,并提供了一个将自定义 java 对象序列化为 JSON 以及将 JSON 反序列化回 Java 对象的框架。我们可以转换JSON到/从 Map使用com.fasterxml.jackson.databind.ObjectMapper类的readValue()writeValueAsString()方法。

JSON 到映射

语法

public <T> 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 {
        <strong> </strong>ObjectMapper mapper = new ObjectMapper();
         String jsonString = "{\"Name\":\"Raja\", \"Technology\":\"Java\"}";
         Map<String, Object> jsonMap = new HashMap<String, Object>();
         jsonMap = mapper.readValue(jsonString, new TypeReference<Map<String, String>>(){}); // 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<String, Object> map = new HashMap<String, Object>();
      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<strong>
 </strong>     System.out.println(map);
   }
}

输出

{"Raja":"Java Technology", "Vamsi":"Web Technology", "Ravi":"Python Technology", "Adithya":"Spark Technology"}

以上是在Java中使用Jackson库将JSON转换为Map或将Map转换为JSON?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:tutorialspoint.com。如有侵权,请联系admin@php.cn删除