Json与Java对象之间的转换

前言

本文主要简述怎么实现Json格式字符串与Java对象之间的转换。

Json与Java对象之间的转换

1.概述

Json作为一种轻量级的数据交换格式,是大多数人进行数据传输时的首要选择。这里就涉及到了Java对象与Json之间的转换,需要进行Json解析。
	Java对象->Json格式的字符串
	Json格式的字符串->Java对象

我们可以借助相关API可以很方便进行Json解析:
	1. Google提供的Gson
	2. Alibaba提供的FastJson

2.API

Gson
(1)前提
	引进Gson相关Jar包
(2) Java对象转换成Json格式字符串
public class demo1 {
    public static void main(String[] args) {
        Person so = new Person();
        so.setName("所以你睡了没");
        so.setAge(18);
        so.setInfo("该人是个颜值与美貌并重的奇男子!");

        String s = new Gson().toJson(so);
        System.out.println(s);
    }
}

结果

在这里插入图片描述

(3)Json格式字符串转换成Java对象
import com.google.gson.Gson;

public class demo2 {
    public static void main(String[] args) {
        String s = "{\"name\":\"所以你睡了没\",\"age\":18,\"info\":\"该人是个颜值与美貌并重的奇男子!\"}";
        Person so = new Gson().fromJson(s, Person.class);
        System.out.println(so);
    }
}

结果

在这里插入图片描述

FastJson
(1)前提
	引进FastJson相关Jar包
(2)Java对象转换成Json格式字符串
import com.alibaba.fastjson.JSON;

public class demo3 {
    public static void main(String[] args) {
        Person so = new Person();
        so.setName("所以你睡了没");
        so.setAge(18);
        so.setInfo("该人是个颜值与美貌并重的奇男子!");

        String s = JSON.toJSONString(so);
        System.out.println(s);
    }
}

结果

在这里插入图片描述

(3)Json格式字符串转换成Java对象
import com.alibaba.fastjson.JSON;

public class demo4 {
    public static void main(String[] args) {
        String s = "{\"name\":\"所以你睡了没\",\"age\":18,\"info\":\"该人是个颜值与美貌并重的奇男子!\"}";
        Person so = JSON.parseObject(s,Person.class);
        System.out.println(so);
    }
}

结果

在这里插入图片描述

总结

    本文主要借助两个不同的工具来实现对Java对象与Json格式字符串的互相转换。朋友们可以根据需求自己选择使用哪个,目前国内使用较多的还是Alibaba提供的FastJson。

我是所以,祝你幸福!
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Gson是Google的一个开源项目,可以将Java对象转换JSON,也可能将JSON转换Java对象。 Gson里最重要的对象有2个Gson 和 GsonBuilder Gson有2个最基本的方法 1) toJson() – 转换java 对象JSON 2) fromJson() – 转换JSONjava对象 下面是几个小例子 1. toJson() example Java 代码 收藏代码 1. class TestObjectToJson { 2. private int data1 = 100; 3. private String data2 = "hello"; 4. } 5. 6. TestObjectToJson obj = new TestObjectToJson(); 7. Gson gson = new Gson(); 8. String json = gson.toJson(obj); class TestObjectToJson { private int data1 = 100; private String data2 = "hello"; } TestObjectToJson obj = new TestObjectToJson(); Gson gson = new Gson(); String json = gson.toJson(obj); 会输出 {"data1":100,"data2":"hello"} 2. fromJson() example Java 代码 收藏代码 1. import com.google.gson.Gson; 2. 3. class TestJsonFromObject { 4. private int data1; 5. private String data2; 6. } 7. 8. String json = "{'data1':100,'data2':'hello'}"; 9. Gson gson = new Gson(); 10. TestJsonFromObject obj = gson.fromJson(json, TestJsonFromObject.class); import com.google.gson.Gson; class TestJsonFromObject { private int data1; private String data2; } String json = "{'data1':100,'data2':'hello'}"; Gson gson = new Gson(); TestJsonFromObject obj = gson.fromJson(json, TestJsonFromObject.class); 3. 将Java对象的属性转换成指定的JSON名字 Java 代码 收藏代码 1. import com.google.gson.FieldNamingPolicy; 2. import com.google.gson.Gson; 3. import com.google.gson.GsonBuilder; 4. import com.google.gson.annotations.SerializedName; 5. 6. public class TestGson { 7. 8. @SerializedName("first_field") 9. private String field1; 10. 11. private String secondField; 12. 13. public TestGson(String param1, String param2) { 14. field1 = param1; 15. secondField = param2; 16. } 17. } 18. 19. TestGson obj = new TestGson("aaaa", "bbbbb"); 20. Gson gson = new Gson

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值