阿里巴巴的JSON和BEAN的快速转化库FastJSON

FastJSON

阿里巴巴JSON库:fastJson,既能解析JSON为Bean对象,又能转换Bean对象为JSON字符串]()

为什么使用fastJson解析??

fastJson解析Json字符串时,使用起来比较简单,此外库基于Java语言开发,对JavaBean对象支持非常的好,对Scala语言支持不好,所以MessageBean使用Java语言定义的,没有使用Scala语言。

JSON转Bean

转换JSON为Bean对象:JSON.parseObject(jsonStr, classOf[StuBean])

示例代码
定义一个StudentBean

import java.util.Objects;public class StuBean {private Integer id ;private String name ;public StuBean() {}public StuBean(Integer id, String name) {this.id = id;this.name = name;}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}@Overridepublic boolean equals(Object o) {if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;StuBean stuBean = (StuBean) o;return Objects.equals(id, stuBean.id) &&Objects.equals(name, stuBean.name);}@Overridepublic int hashCode() {return Objects.hash(id, name);}@Overridepublic String toString() {return "StuBean{" +"id=" + id +", name='" + name + '\'' +'}';}
}

使用Scala语言对JSON数据进行转化,转为Bean对象

import com.alibaba.fastjson.JSONobject FastJsonTest {def main(args: Array[String]): Unit = {// 定义json字符串val jsonStr: String ="""|{|  "id": 10001,|  "name": "zhangsan"|}|""".stripMargin// JSON -> JavaBeanval stuBean: StuBean = JSON.parseObject(jsonStr, classOf[StuBean])println(stuBean)// JavaBean转换为JSON字符串val stuJson: String = JSON.toJSONString(stuBean, true)println(stuJson)}}

流式程序使用Scala语言编写,为什么MessageBean使用Java语言??

由于使用FastJson解析Json字符串,所以使用Java语言编写。由于Scala语言中CaseClass对FastJson支持不是很友好,有的时候,解析会出问题,无法完成解析操作。
FastJson库使用Java编写的,符合Java语言规范,但是不符合Scala与规范约束。

## Bean转JSON

JSON.toJSON*(‘放需要转的Bean或者map集合’, true)
注:*表示根据自身需求

Json转换Bean太过复杂?试试阿里巴巴的FastJSON相关推荐

  1. jackson json 转换Bean, Bean 里没有对应的值 jackson Unrecognized field

    转载自:http://blog.csdn.net/a9529lty/article/details/8232948 I use jackson for converting JSON to Objec ...

  2. 常用的json转换jar包

    1.Jackson Jackson对于复杂类型的json转换bean会出现问题,一些集合Map,List的转换出现问题. Jackson对于复杂类型的bean转换Json,转换的json格式不是标准的 ...

  3. JSON解析工具比较,主要GSON和FastJSON

    转自:http://www.cnblogs.com/kunpengit/p/4001680.html 一 .各个JSON技术的简介和优劣 1.json-lib json-lib最开始的也是应用最广泛的 ...

  4. 如何优雅的转换 Bean 对象!

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 背景 我们的故事要从一个风和日丽的下午开始说起! 这天,外 ...

  5. 如何优雅的转换 Bean 对象?

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 背景 我们的故事要从一个风和日丽的下午开始说起! 这天,外 ...

  6. javabean与json转换(fastjson与jackson两个版本)

    [README] 本文演示了 javabean与json转换的开发方式: 要想 javabean的属性名 与 json的字段名不一致,也是可以转换的: 之前需要引入 ali.fastjson < ...

  7. Json学习总结(5)——阿里巴巴开源库 Fastjson详解

    一.前言 JSON,全称:JavaScript Object Notation,作为一个常见的轻量级的数据交换格式,应该在一个程序员的开发生涯中是常接触的.简洁和清晰的层次结构使得 JSON 成为理想 ...

  8. 高效的JSON转换工具

    在网上搜索了一番发现用json-lib进行json格式转换的还真不少,但是经过测试性能不太令人满意,同类工具中还有个后起 之秀那就是jackson,单从性能上说要比json-lib好很多,于是在项目中 ...

  9. Json转换利器Gson之实例一-简单对象转化和带泛型的List转化

    Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库.可以将一个 JSON 字符串转成一个 Java 对象,或者反过来. jar和源码下载地址: h ...

最新文章

  1. linux shell读取文件,Linux shell逐行读取文件的方法
  2. python3.5 mysql 库_Python 3.5 连接Mysql数据库(pymysql 方式)
  3. 美国会议员提出“漏洞披露法案” 仍考虑非中立实体授权
  4. mongo查看数据库空间大小
  5. AttributeError: ‘float‘ object has no attribute ‘exp‘
  6. linux nginx 安装stream,Centos7-64bit-编译安装配置Nginx stream四层负载均衡 动态加载
  7. 第二节:ES6新增了let关键字,干嘛用的?
  8. 浅谈Solr和ElasticSearch建索引性能优化策略
  9. C#中String类的几个方法(IndexOf、LastIndexOf、Substring)
  10. hiberntate教程笔记6
  11. 回顾2020的爷青结:有哪些记忆里的应用正在消逝!
  12. 标签类目体系(面向业务的数据资产设计方法论)-读书笔记3
  13. Java获取国内手机号码归属地
  14. 计算机硬盘分区类型,常见磁盘分区格式的区别是什么?
  15. 富途客户端软件测试笔试and面试
  16. ​携程网全国各城市酒店数据​评论数据
  17. GROUP BY 条件查询最新时间记录
  18. 微信可以打开淘宝链接,淘宝也在测试微信支付,但真的都很别扭
  19. python中括号和方括号的问题
  20. Postman(接口测试工具)

热门文章

  1. mysql -省市区(省)
  2. django网站开发环境的搭建
  3. python3学习(3):ID 遍历爬虫
  4. 合并Firefox的书签
  5. 根据生日判断星座(不到10行代码)
  6. 发布房源(三)01——进入发布房源组件-history.replace() 方法跳转页面-有缓存数据
  7. 润乾集算器与帆软报表集成 (直接通过 jdbc,类 DB 存储过程方式调用)
  8. 一文看懂广州数控车床G代码
  9. nacos配置安装教程
  10. 【剑桥英语I优加】剑桥pet考试适合多大孩子