fastjson使用

json的前世今生

我的未来我决定 提交于 2020-03-26 09:46:22
JSON,全称:JavaScript Object Notation,作为一个常见的轻量级的数据交换格式,应该在一个程序员的开发生涯中是常接触的。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。 Java是面向对象的语言,所以我们更多的在项目中是以对象的形式处理业务的,但是在传输的时候我们却要将对象转换为 JSON 格式便于传输,而且 JSON 格式一般能解析为大多数的对象格式,而不在乎编程语言。 在工作中, 我们不可避免的要使用json字符串, json已经成为我们resultful接口最常使用的数据格式, 相信大家也都不陌生了, 工作中或多或少也是用过的.今天我就是要来说说json数据处理时, 我们使用到的一些坑, 避免自己或者大家以后也落入到这线陷阱中, 特总结出来, 分享给大家, 希望对大家有帮助. 好吧, 我们进入正题, 大家在处理json字符串的时候, 最常使用的包和方法时什么嗯? 1. fastjson 1. 什么是fastjson 阿里官方给的定义是, fastjson 是阿里巴巴的开源JSON解析库,它可以解析 JSON 格式的字符串,支持将 Java Bean 序列化为 JSON 字符串,也可以从 JSON 字符串反序列化到 JavaBean。 2. fastjson的优点

SpringBoot(九):fastjson、异常处理

僤鯓⒐⒋嵵緔 提交于 2020-03-24 19:33:09
3 月,跳不动了?>>> 1、fastjson pom.xml 加入jar <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.31</version> </dependency> 配置 fastjson:继承WebMvcConfigurerAdapter覆写configureMessageConverters方法 @Configuration public class SpringMVCConfig extends WebMvcConfigurerAdapter{ @Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { FastJsonHttpMessageConverter4 fastJsonConverter = new FastJsonHttpMessageConverter4(); converters.add(fastJsonConverter); } } 使用fastjson中注解 @JSONField @JSONField(format = "yyyy-MM-dd HH:mm:ss") private Date

FastJson的简单实用

↘锁芯ラ 提交于 2020-03-21 13:38:40
一、FastJson的理解 在工作中,经常客服端需要和服务端进行通信,目前很多项目都采用JSON的方式进行数据传输,简单的参数可以通过手动拼接JSON字符串,但如果请求的参数过多,采用手动拼接JSON字符串,出错率就非常大了。并且工作效率也特别低。 常用一些开源的JSON框架,比如Google提供的Gson,Jackson,FastJson等框架。 FastJson不依赖于第三方包, 直接可以运行在Java JDK1.5之上,FastJson完全支持 http://json.org 的标准,支持各种JDK类型,包括基本类型、JavaBean、Collection、Map、Enum、泛型等 还支持循环引用。 FastJson项目是开源的:Fastjson代码托管在github.org上,项目地址是 https://github.com/AlibabaTech/fastjson 一个JSON库涉及的最基本功能就是序列化和反序列化。Fastjson支持java bean的直接序列化。使用com.alibaba.fastjson.JSON这个类进行序列化和反序列化。 FastJson是阿里巴巴工程师设计的 二、FastJson的基本使用 package cn.monster.entity; import java.util.ArrayList; import java.util.Date;

Android开发之如何使用FastJson

非 Y 不嫁゛ 提交于 2020-03-18 11:31:10
在 Android 开发中,我们 Android 客户端如果要和 服务器 端交互,一般都会采用 json 数据格式进行交互,FastJson是阿里巴巴工程师开发的一个Json处理工具包,包括“序列化”和“反序列化”两部分,Fastjson是一个Java语言编写的高性能功能完善的JSON库。 一个JSON库涉及的最基本功能就是序列化和反序列化。 Fast json 支持 java bean的直接序列化。你可以使用 c om.alibaba.fast json .JSON这个类进行序列化和反序列化。fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库。 FastJson速度最快,fastjson具有极快的性能,超越任其他的Java Json parser。 FastJson功能强大,完全支持Java Bean、集合、Map、日期、Enum,支持范型,支持自省;无依赖。 Fast json API入口类是 c om.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成。 使用Fastjson首先在官网下载,然后应用到自己的项目中,下面链接是开源社区的链接: http://www.oschina.net/p/fastjson 1.首先概述一下Fastjson中的经常调用的方法 : 1 public static

FastJson---重要的类为JSONObject

北战南征 提交于 2020-03-10 13:58:38
主要是用FastJson进行数据解析,其中一个重要的类为JSONObject, JSONobject是FastJson提供的对象,在api中是用一个私有的常量map进行封装的,实际就是一个map,只不过FastJson对其进行了封装, 添加了很多方便快捷的属性方法。 private final Map<String, Object> map; 在项目中添加maven依赖         <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.48</version> </dependency> 先来看下它有哪些常用方法,以及有什么作用: 1.put(String key, Object value)方法,在JSONObject对象中设置键值对在,在进行设值得时候,key是唯一的,如果用相同的key不断设值得时候,保留后面的值。 2.Object get(String key) :根据key值获取JSONObject对象中对应的value值,获取到的值是Object类型,需要手动转化为需要的数据类型 3.int size():获取JSONObject对象中键值对的数量 4.boolean isEmpty():判断该JSONObject对象是否为空 5

fastJson

女生的网名这么多〃 提交于 2020-03-08 04:25:18
Fastjson是一个 Java 语言编写的高性能功能完善的JSON库。由阿里巴巴公司团队开发的. 主要特性主要体现在以下几个方面: 1.高性能 fastjson采用独创的 算法 ,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jackson。并且还超越了google的二进制协议protocol buf。 2.功能强大 支持各种JDK类型。包括基本类型、JavaBean、Collection、Map、Enum、泛型等。 3.无依赖 不需要例外额外的jar,能够直接跑在JDK上。 4.支持范围广 5.开源 以下是几个简单的例子: // 字符串转换成json数据 String str = "{'name':'zhang','age':20}"; String str_json1 = JSON.toJSONString(str, true); String str_json2 = JSON.toJSONString(str, false); System.out.println("格式化数据" + str_json1); System.out.println("未格式化数据" + str_json2); // json转化简单的实体类 String stu = "{'name':'lisi','age':22}"; Student ss = JSON

阿里Fastjson的使用

自闭症网瘾萝莉.ら 提交于 2020-03-03 23:30:38
Fastjson是一个 Java 语言编写的高性能功能完善的JSON库。由阿里巴巴公司团队开发的. 主要特性主要体现在以下几个方面: 1.高性能 fastjson采用独创的 算法 ,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jackson。并且还超越了google的二进制协议protocol buf。 2.功能强大 支持各种JDK类型。包括基本类型、JavaBean、Collection、Map、Enum、泛型等。 3.无依赖 不需要例外额外的jar,能够直接跑在JDK上。 4.支持范围广 5.开源 以下是几个简单的例子: // 字符串转换成json数据 String str = "{'name':'zhang','age':20}"; String str_json1 = JSON.toJSONString(str, true); String str_json2 = JSON.toJSONString(str, false); System.out.println("格式化数据" + str_json1); System.out.println("未格式化数据" + str_json2); // json转化简单的实体类 String stu = "{'name':'lisi','age':22}"; Student ss = JSON

最强常用开发库- JSON库详解

ぃ、小莉子 提交于 2020-03-03 09:32:20
本文为作者原创,转载请注明出处: https://www.cnblogs.com/pengdai/p/12185594.html 内容目录 JSON简介 JSON是什么 结构与类型 JSON优秀资源 JSON在线解析工具 JSON类库 性能测试对比 FastJson Fastjson 简介 Fastjson 特性 下载和使用 序列化一个对象成JSON字符串 反序列化一个JSON字符串成Java对象 对于日期的处理 Bean和数组转换 设置字段名 设置是否不序列化某字段 设置字段顺序 自定义序列化和反序列化 FastJson漏洞问题 JackSon JackSon简介 Jackson组件 Jackson的使用 序列化一个对象成JSON字符串 反序列化一个JSON字符串成Java对象 常用注解 GSON Gson简介 Gson的目标 Gson的使用 序列化 反序列化 自定义序列化和反序列化机制 参考文章 更多内容 最强常用开发库总结 - JSON库详解 JSON应用非常广泛,对于Java常用的JSON库要完全掌握。@pdai JSON简介 JSON是什么 JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式 JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是

Springboot使用alibaba的fastJson,@JSONField不起作用的问题

余生长醉 提交于 2020-02-28 13:52:07
在Springboot中默认的JSON解析框架是jackson 今天引入alibaba的fastjson,使用@JSONField(serialize=false),让@RestController转换数据给前端的时候不序列化莫些字段,发现@JSONField根本不起作用 在网上查阅了一番,发现Springboot使用fastjson需要替换默认的json转换器的 具体解决方法有两种: 本文借鉴地址:https://blog.csdn.net/qq_28929589/article/details/79245774 一、(1)启动类继承extends WebMvcConfigurerAdapter (2)覆盖方法configureMessageConverters 二、(1)在App.java启动类中,注入Bean : HttpMessageConverters 第一种方式: 启动类继承WebMvcConfigurerAdapter,然后对configureMessageConverters方法进行重写 @Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { super.configureMessageConverters(converters);

FastJson使用一些坑点注意

☆樱花仙子☆ 提交于 2020-02-14 18:35:35
坑点一:序列化的时候默认把null值抹掉 坑点二:序列化后顺序错乱 上述问题解决方法: JSONObject.parseObject(wholeStr, new TypeReference<LinkedHashMap<String,Object>>(){}, Feature.OrderedField); 说明: 1.new TypeReference<LinkedHashMap<String,Object>>()可以保留null值,Map<String,Object>类型才行,如果value也是String类型 一样null值也没掉,因为默认被序列化了 2. Feature.OrderedField 这个按原来顺序排序 3.LinkedHashMap也是一个HashMap,但是内部维持了一个双向链表,可以保持顺序 来源: CSDN 作者: 空~自由 链接: https://blog.csdn.net/liu_xue_xue/article/details/104308741