Json转换Bean太过复杂?试试阿里巴巴的FastJSON
阿里巴巴的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相关推荐
- jackson json 转换Bean, Bean 里没有对应的值 jackson Unrecognized field
转载自:http://blog.csdn.net/a9529lty/article/details/8232948 I use jackson for converting JSON to Objec ...
- 常用的json转换jar包
1.Jackson Jackson对于复杂类型的json转换bean会出现问题,一些集合Map,List的转换出现问题. Jackson对于复杂类型的bean转换Json,转换的json格式不是标准的 ...
- JSON解析工具比较,主要GSON和FastJSON
转自:http://www.cnblogs.com/kunpengit/p/4001680.html 一 .各个JSON技术的简介和优劣 1.json-lib json-lib最开始的也是应用最广泛的 ...
- 如何优雅的转换 Bean 对象!
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 背景 我们的故事要从一个风和日丽的下午开始说起! 这天,外 ...
- 如何优雅的转换 Bean 对象?
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 背景 我们的故事要从一个风和日丽的下午开始说起! 这天,外 ...
- javabean与json转换(fastjson与jackson两个版本)
[README] 本文演示了 javabean与json转换的开发方式: 要想 javabean的属性名 与 json的字段名不一致,也是可以转换的: 之前需要引入 ali.fastjson < ...
- Json学习总结(5)——阿里巴巴开源库 Fastjson详解
一.前言 JSON,全称:JavaScript Object Notation,作为一个常见的轻量级的数据交换格式,应该在一个程序员的开发生涯中是常接触的.简洁和清晰的层次结构使得 JSON 成为理想 ...
- 高效的JSON转换工具
在网上搜索了一番发现用json-lib进行json格式转换的还真不少,但是经过测试性能不太令人满意,同类工具中还有个后起 之秀那就是jackson,单从性能上说要比json-lib好很多,于是在项目中 ...
- Json转换利器Gson之实例一-简单对象转化和带泛型的List转化
Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库.可以将一个 JSON 字符串转成一个 Java 对象,或者反过来. jar和源码下载地址: h ...
最新文章
- linux shell读取文件,Linux shell逐行读取文件的方法
- python3.5 mysql 库_Python 3.5 连接Mysql数据库(pymysql 方式)
- 美国会议员提出“漏洞披露法案” 仍考虑非中立实体授权
- mongo查看数据库空间大小
- AttributeError: ‘float‘ object has no attribute ‘exp‘
- linux nginx 安装stream,Centos7-64bit-编译安装配置Nginx stream四层负载均衡 动态加载
- 第二节:ES6新增了let关键字,干嘛用的?
- 浅谈Solr和ElasticSearch建索引性能优化策略
- C#中String类的几个方法(IndexOf、LastIndexOf、Substring)
- hiberntate教程笔记6
- 回顾2020的爷青结:有哪些记忆里的应用正在消逝!
- 标签类目体系(面向业务的数据资产设计方法论)-读书笔记3
- Java获取国内手机号码归属地
- 计算机硬盘分区类型,常见磁盘分区格式的区别是什么?
- 富途客户端软件测试笔试and面试
- ​携程网全国各城市酒店数据​评论数据
- GROUP BY 条件查询最新时间记录
- 微信可以打开淘宝链接,淘宝也在测试微信支付,但真的都很别扭
- python中括号和方括号的问题
- Postman(接口测试工具)