FastJson教程(简明版)

本文详细介绍FastJson库的使用,包括将Java对象转换为JSON字符串,从JSON字符串转换回Java对象,以及FastJson的BeanToArray序列化功能。通过实例演示如何进行序列化和反序列化操作。

1.FastJson特性

提供了 toJSONString() 和 parseObject() 方法来将 Java 对象与 JSON 相互转换。调用toJSONString方 法即可将对象转换成 JSON 字符串,parseObject 方法则反过来将 JSON 字符串转换成对象。

2.引入依赖

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

3.将 Java 对象转换为 JSON 格式

定义Person JavaBean

public class Person {
     
    @JSONField(name = "AGE")
    private int age;
 
    @JSONField(name = "FULL NAME")
    private String fullName;
 
    @JSONField(name = "DATE OF BIRTH")
    private Date dateOfBirth;
 
    public Person(int age, String fullName, Date dateOfBirth) {
        super();
        this.age = age;
        this.fullName= fullName;
        this.dateOfBirth = dateOfBirth;
    }
 
    // 标准 getters & setters
}

可以使用 JSON.toJSONString() 将 Java 对象转换换为 JSON 对象:

private List<Person> listOfPersons = new ArrayList<Person>();
 
@Before
public void setUp() {
    listOfPersons.add(new Person(15, "John Doe", new Date()));
    listOfPersons.add(new Person(20, "Janette Doe", new Date()));
}
 
@Test
public void whenJavaList_thanConvertToJsonCorrect() {
    String jsonOutput= JSON.toJSONString(listOfPersons);
}

输出结果

[  
    {  
        "AGE":15,
        "DATE OF BIRTH":1468962431394,
        "FULL NAME":"John Doe"
    },
    {  
        "AGE":20,
        "DATE OF BIRTH":1468962431394,
        "FULL NAME":"Janette Doe"
    }
]

总结:可以使用 JSON.toJSONString() 将 Java 对象转换换为 JSON 对象:

5.FastJson 还支持 BeanToArray 序列化功能:

@Test
public void whenGenerateJson_thanGenerationCorrect() throws ParseException {
    JSONArray jsonArray = new JSONArray();
    for (int i = 0; i < 2; i++) {
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("AGE", 10);
        jsonObject.put("FULL NAME", "Doe " + i);
        jsonObject.put("DATE OF BIRTH", "2016/12/12 12:12:12");
        jsonArray.add(jsonObject);
    }
    String jsonOutput = jsonArray.toJSONString();
}

输出结果

[
   {
      "AGE":"10",
      "DATE OF BIRTH":"2016/12/12 12:12:12",
      "FULL NAME":"Doe 0"
   },
   {
      "AGE":"10",
      "DATE OF BIRTH":"2016/12/12 12:12:12",
      "FULL NAME":"Doe 1"
   }
]

6.JSON 字符串转换为 Java 对象

@Test
public void whenJson_thanConvertToObjectCorrect() {
    Person person = new Person(20, "John", "Doe", new Date());
    String jsonObject = JSON.toJSONString(person);
    Person newPerson = JSON.parseObject(jsonObject, Person.class);
     
    assertEquals(newPerson.getAge(), 0); // 如果我们设置系列化为 false
    assertEquals(newPerson.getFullName(), listOfPersons.get(0).getFullName());
}

输出结果

Person [age=20, fullName=John Doe, dateOfBirth=null]

总结:JSON.parseObject() 将 JSON 字符串转换为 Java 对象。

FastKeys 中文版是一个易于使用的 Windows 自动化工具和文本扩展。 它允许您构建自己的文本缩写,开始菜单,快捷方式和命令来运行文件,打开网页,发送宏或自动化任何东西。 FastKeys 非常强大而且易于使用, FastKeys 功能特色 文本扩展器 扩展常用文本的缩写并节省打字时间。 包括自动完成学习。 开始菜单 构建完全可配置的“开始”菜单以启动计算机上的任何活动。 触摸屏幕边缘以显示菜单。 快捷键 创建键盘快捷键以通过击键执行任何操作。 运行程序,打开站点或功能强大的脚本以自动执行Windows。 鼠标手势 使用鼠标手势执行任务。 将手放在鼠标上,并通过快速移动自动完成任何操作。 宏记录器 记录击键和鼠标操作,以教导计算机自动执行任务。 剪贴板管理器 跟踪您复制到剪贴板中的所有内容,并快速访问历史记录中的任何项目。 使用方便 几分钟内快速上手。 适用于任何应用程序。 在任何 Windows 程序中使用它。 通用拼写纠正。 更正键入时输入的错误。 快速而不引人注目。 极轻的重量,微小的内存使用,绝对清洁和安全。 可自定义的文本模板 手动文本输入和选择表单。 以您的语言提供 德语,西班牙语,法语,俄语,简体中文等 客户支持 为注册用户提供快速的客户支持 广泛的库 超过500个即用型命令可自动执行任何操作。 FastKeys 系统要求 FastKeys推荐的系统配置包括: •Windows 7,Windows 8 或 Windows 10 •512MB RAM •10MB 的可用磁盘空间 •1024×768 屏幕分辨率或更高 FastKeys 是快速且不引人注目的软件。 重量极轻,内存使用量小,绝对干净安全。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值