Java中 JSON的转换

发布于:2024-06-12 ⋅ 阅读:(60) ⋅ 点赞:(0)

在Java中,JSON(JavaScript Object Notation)的转换通常涉及到将Java对象序列化为JSON字符串,或者将JSON字符串反序列化为Java对象。常用的库有Jackson、Gson和Fastjson等。下面是一些简单的示例:

使用Jackson

添加依赖

首先,需要在项目中添加Jackson的依赖。如果你使用Maven,可以在pom.xml文件中添加:

<dependencies>
  <!-- 其他依赖 -->
  <dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.13.0</version> <!-- 请检查最新版本 -->
  </dependency>
</dependencies>

Java对象转JSON

import com.fasterxml.jackson.databind.ObjectMapper;

public class Main {
  public static void main(String[] args) {
    User user = new User("张三", 25);
    ObjectMapper mapper = new ObjectMapper();
    try {
      String jsonStr = mapper.writeValueAsString(user);
      System.out.println("JSON字符串: " + jsonStr);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

class User {
  public String name;
  public int age;
  
  public User(String name, int age) {
    this.name = name;
    this.age = age;
  }
}

 JSON转Java对象

import com.fasterxml.jackson.databind.ObjectMapper;

public class Main {
  public static void main(String[] args) {
    String jsonStr = "{\"name\":\"张三\",\"age\":25}";
    ObjectMapper mapper = new ObjectMapper();
    try {
      User user = mapper.readValue(jsonStr, User.class);
      System.out.println("用户名: " + user.name);
      System.out.println("年龄: " + user.age);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

class User {
  public String name;
  public int age;
}

使用Gson

添加依赖

如果你使用Gson,首先需要在项目中添加Gson的依赖。如果你使用Maven,可以在pom.xml文件中添加:

<dependencies>
  <!-- 其他依赖 -->
  <dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.8</version> <!-- 请检查最新版本 -->
  </dependency>
</dependencies>

 Java对象转JSON

import com.google.gson.Gson;

public class Main {
  public static void main(String[] args) {
    User user = new User("张三", 25);
    Gson gson = new Gson();
    String jsonStr = gson.toJson(user);
    System.out.println("JSON字符串: " + jsonStr);
  }
}

class User {
  public String name;
  public int age;
  
  public User(String name, int age) {
    this.name = name;
    this.age = age;
  }
}

JSON转Java对象

import com.google.gson.Gson;

public class Main {
  public static void main(String[] args) {
    String jsonStr = "{\"name\":\"张三\",\"age\":25}";
    Gson gson = new Gson();
    User user = gson.fromJson(jsonStr, User.class);
    System.out.println("用户名: " + user.name);
    System.out.println("年龄: " + user.age);
  }
}

class User {
  public String name;
  public int age;
}

 这些只是简单的示例,实际应用中可能需要处理更复杂的数据结构和转换需求。