FastJson使用范例(Java、Scala版)

0. 目录

1.FastJson简介

2.FastJson三个核心类

3.Maven

4.Java API

  • 反序列化
    • 反序列化一个简单Json字符串
    • 反序列化一个简单JSON字符串成Java对象组
    • 反序列化一个复杂的JSON字符串
  • 序列化
  • 序列化和反序列化日期
  • JsonObject的一些操作
  • jsonArray的一些操作

5.Scala API

  • 反序列化
    • demo日志内容
    • 反序列化简单json字符串
    • 反序列化简单json字符串组
      • String处理
      • List处理
  • 序列化

1. FastJson简介

JSON协议在日常开发中很常用,包括前后端的数据接口,日志字段的保存等,通常都采用JSON协议。FastJson是阿里的开源框架,很好用,估计开发的同学都有使用过。这里做一个简单的用法总结,配一些demo。除了Java版本外,由于在Spark也经常清洗日志,所以配上了Scala版本,方便日后查询使用。完整代码可以参考Github:https://github.com/tygxy/BigData

2. FastJson三个核心类

  • JSON:fastjson的解析器,用于json字符串和javaBean、Json对象的转换
  • JSONObject:fastJson提供的json对象 
  • JSONArray:fastJson提供json数组对象

 3. Maven

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

4. Java API

4.1 反序列化

  1. 反序列化一个简单Json字符串,首先创建Java Bean对象,再进行反序列化操作
public class User {
  	    private String name;
	    private int age;

	    public String getName() {
	        return name;
	    }

	    public void setName(String name) {
	        this.name = name;
	    }

	    public int getAge() {
	        return age;
	    }

	    public void setAge(int age) {
	        this.age = age;
	    }
}

 

    String jsonString = "{\"name\":\"张三\",\"age\":50}";
    User user= JSON.parseObject(jsonString,User.class);
    System.out.println("name:"+user.getName()+" age:"+user.getAge());

    // 输出结果 name:张三 age:50

        2. 反序列化一个简单JSON字符串成Java对象组

String jsonArrayString = "[{\"name\":\"张三\",\"age\":50},{\"name\":\"李四\",\"age\":51}]";
List<User> userList = JSON.parseArray(jsonArrayString,User.class);
Iterator it = userList.iterator();
while (it.hasNext()) {
    User u = (User)it.next();
    System.out.p
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值