网络中传输数据载体JSON实现(2)——JSON数据与JAVA对象相互转化

数据在网络中以JSON数据进行传输,在前后端数据处理时需要进行数据转化,转化成JAVA对象。

1.导入坐标

pom.xml文件中导入fastjson库,该库可以实现Java对象与JSON字符串的相互转化

    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>fastjson</artifactId>
      <version>1.2.62</version>
    </dependency>

2.JSON数据转化成Java对象

User user = JSON.parseObject(jsonstr , User.class);

3.Java对象转化成JSON数据

String  jsonstr = JSON.toJSONString(obj);

实例:

1.定义User.java文件中创建User类,包含id、username、password三个字段

package json;
//创建User对象
public class User {
    private Integer id;
    private String username;

    private String password;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

2.创建另外一个文件用于测试

package json;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

public class FastJsonDemo {
    public static void main(String[] args) {
        //将java对象转化为Json字符串
        User user = new User();
        user.setId(1);
        user.setUsername("张三");
        user.setPassword("123");
        //Java对象转化成JSON数据
        String jsonString = JSON.toJSONString(user);
        System.out.println(jsonString);//{"id":1,"password":"123","username":"ljh"}

        //将JSON字符串转化为Java对象
        User user1 = JSON.parseObject("{\"id\":1,\"password\":\"123\",\"username\":\"张三\"}",User.class);
        Integer id = user1.getId();
        System.out.println(id);
        System.out.println(user1);

    }
}

输出结果:

根据JSON数据格式便可以在前后端之间进行数据传输。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java可以使用各种JSON库将各种类型的数据转化JSON格式,比如Gson、Jackson、FastJSON等等。以下是使用Gson和Jackson库将各种类型的数据转化JSON格式并从JSON数据的示例: 1. 将Java对象转化JSON字符串 使用Gson库: ```java import com.google.gson.Gson; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; public class MyClass { public static void main(String[] args) { Gson gson = new Gson(); // 将Java对象转化JSON字符串 Person person = new Person("John", 30); String json1 = gson.toJson(person); System.out.println(json1); // 将List转化JSON字符串 List<String> list = Arrays.asList("apple", "banana", "orange"); String json2 = gson.toJson(list); System.out.println(json2); // 将Map转化JSON字符串 Map<String, Integer> map = new HashMap<>(); map.put("apple", 1); map.put("banana", 2); map.put("orange", 3); String json3 = gson.toJson(map); System.out.println(json3); } } class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } } ``` 使用Jackson库: ```java import com.fasterxml.jackson.databind.ObjectMapper; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; public class MyClass { public static void main(String[] args) throws Exception { ObjectMapper mapper = new ObjectMapper(); // 将Java对象转化JSON字符串 Person person = new Person("John", 30); String json1 = mapper.writeValueAsString(person); System.out.println(json1); // 将List转化JSON字符串 List<String> list = Arrays.asList("apple", "banana", "orange"); String json2 = mapper.writeValueAsString(list); System.out.println(json2); // 将Map转化JSON字符串 Map<String, Integer> map = new HashMap<>(); map.put("apple", 1); map.put("banana", 2); map.put("orange", 3); String json3 = mapper.writeValueAsString(map); System.out.println(json3); } } class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public int getAge() { return age; } } ``` 2. 从JSON字符串数据 使用Gson库: ```java import com.google.gson.Gson; import java.util.List; import java.util.Map; public class MyClass { public static void main(String[] args) { Gson gson = new Gson(); // 从JSON字符串取得Java对象 String json1 = "{\"name\":\"John\",\"age\":30}"; Person person = gson.fromJson(json1, Person.class); System.out.println(person.getName()); System.out.println(person.getAge()); // 从JSON字符串取得List String json2 = "[\"apple\",\"banana\",\"orange\"]"; List<String> list = gson.fromJson(json2, List.class); System.out.println(list); // 从JSON字符串取得Map String json3 = "{\"apple\":1,\"banana\":2,\"orange\":3}"; Map<String, Integer> map = gson.fromJson(json3, Map.class); System.out.println(map); } } class Person { private String name; private int age; public String getName() { return name; } public int getAge() { return age; } } ``` 使用Jackson库: ```java import com.fasterxml.jackson.databind.ObjectMapper; import java.util.List; import java.util.Map; public class MyClass { public static void main(String[] args) throws Exception { ObjectMapper mapper = new ObjectMapper(); // 从JSON字符串取得Java对象 String json1 = "{\"name\":\"John\",\"age\":30}"; Person person = mapper.readValue(json1, Person.class); System.out.println(person.getName()); System.out.println(person.getAge()); // 从JSON字符串取得List String json2 = "[\"apple\",\"banana\",\"orange\"]"; List<String> list = mapper.readValue(json2, List.class); System.out.println(list); // 从JSON字符串取得Map String json3 = "{\"apple\":1,\"banana\":2,\"orange\":3}"; Map<String, Integer> map = mapper.readValue(json3, Map.class); System.out.println(map); } } class Person { private String name; private int age; public String getName() { return name; } public int getAge() { return age; } } ``` 以上就是使用Gson和Jackson库将各种类型数据转化JSON格式并从JSON数据的示例。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值