fastjson

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

JSON.parseObject(String str)与JSONObject.parseObject(String str)的区别

拈花ヽ惹草 提交于 2020-03-10 05:34:08
一、首先来说说fastjson fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。其主要特点是: ① 快速: fastjson采用独创的算法,将parse的速度提升到极致,超过所有基于Java的json库,包括曾经号称最快的jackson; ② 强大:Fastjson完全支持 http://json.org 的标准(也是Google官方网站收录的参考实现之一);支持各种JDK类型; 包括基本类型、JavaBean、Collection、Map、Enum、泛型等; ③ 零依赖: 没有依赖其它任何类库除了JDK ,能够直接运行在Java SE 5.0以上版本;支持Android;开源 (Apache 2.0)。 为什么要说fastjson,因为,JSON.parseObject(String str)和JSONObject.parseObject(String str)就是fastjson中的方法。 二、parseObject(String str)的作用 JSON.parseObject(String str)是将 str转化为相应的JSONObject对象,其中str是“键值对”形式的json字符串,转化为JSONObject对象之后就可以使用其内置的方法,进行各种处理了。 三、JSON.parseObject

Java的JSON文件解析

流过昼夜 提交于 2020-03-09 21:55:28
1. JSON格式概述 JSON  JavaScript  JavaScript Object Notation  (JavaScript Object Notation,JavaScript对象表示法,读作/ˈdʒeɪsən/)是一种由道格拉斯·克罗克福特构想和设计、轻量级的数据交换语言,该语言以易于让人阅读的文字为基础,用来传输由属性值或者序列性的值组成的数据对象。尽管JSON是JavaScript的一个子集,但JSON是独立于语言的文本格式,并且采用了类似于C语言家族的一些习惯。 { { "firstName": "John", "lastName": "Smith", "sex": "male", "age": 25, "married": false, "address": { "streetAddress": "21 2nd Street", "city": "New York", "state": "NY", "postalCode": "10021" }, "phoneNumber": [ { "type": "home", "number": "212 555-1234" }, { "type": "fax", "number": "646 555-4567" } ] } 2. 数据格式 2.1 JSON对象 { “ID”:001, “name”:“骚磊”,

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

推荐Java目前比较常用的4个JSON库

半世苍凉 提交于 2020-03-07 10:51:19
接触过Java的人都知道,Java并未向JSON提供原生支持,因此使用JSON需要借助第三方类库。目前比较常用的JSON库包括Gson、FastJson、Jackson、Json-lib。接下来我就给大家简单分享JSON的基本知识以及四种JSON库。 一、什么是JSON? JSON(JavaScript Object Notation,JavaScript对象表示法)是一种由道格拉斯·克罗克福特构想和设计、轻量级的数据交换语言,该语言以易于让人阅读的文字为基础,用来传输由属性值或者序列性的值组成的数据对象。 尽管JSON是JavaScript的一个子集,但JSON是独立于语言的文本格式。JSON文本格式在语法上与创建JavaScript对象的代码相同。由于这种相似性,无需解析器,JavaScript程序能够使用内建的eval()函数,用JSON数据来生成原生的JavaScript对象。 JSON是存储和交换文本信息的语法,类似XML,但JSON比XML更小、更快、更易解析。 JSON具有自我描述性,语法简洁,易于理解。 二、常用的四种JSON库 1、Gson Gson是目前功能最全的JSON解析神器,其应用主要为toJson与fromJson两个转换函数,无依赖,不需要例外额外的jar,能够直接跑在JDK上。在使用这种对象转换之前

这一次,我连 web.xml 都不要了,纯 Java 搭建 SSM 环境!

安稳与你 提交于 2020-03-06 05:50:36
在 Spring Boot 项目中,正常来说是不存在 XML 配置,这是因为 Spring Boot 不推荐使用 XML ,注意,并非不支持,Spring Boot 推荐开发者使用 Java 配置来搭建框架,Spring Boot 中,大量的自动化配置都是通过 Java 配置来实现的,这一套实现方案,我们也可以自己做,即自己也可以使用纯 Java 来搭建一个 SSM 环境,即在项目中,不存在任何 XML 配置,包括 web.xml 。 环境要求: 使用纯 Java 来搭建 SSM 环境,要求 Tomcat 的版本必须在 7 以上。 快速体验 1 创建工程 创建一个普通的 Maven 工程(注意,这里可以不必创建 Web 工程),并添加 SpringMVC 的依赖,同时,这里环境的搭建需要用到 Servlet ,所以我们还需要引入 Servlet 的依赖(一定不能使用低版本的 Servlet),最终的 pom.xml 文件如下: <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.1.6.RELEASE</version> </dependency> <dependency> <groupId>javax.servlet<

这一次,我连 web.xml 都不要了,纯 Java 搭建 SSM 环境!

谁都会走 提交于 2020-03-06 05:48:18
在 Spring Boot 项目中,正常来说是不存在 XML 配置,这是因为 Spring Boot 不推荐使用 XML ,注意,并非不支持,Spring Boot 推荐开发者使用 Java 配置来搭建框架,Spring Boot 中,大量的自动化配置都是通过 Java 配置来实现的,这一套实现方案,我们也可以自己做,即自己也可以使用纯 Java 来搭建一个 SSM 环境,即在项目中,不存在任何 XML 配置,包括 web.xml 。 环境要求: 使用纯 Java 来搭建 SSM 环境,要求 Tomcat 的版本必须在 7 以上。 快速体验 1 创建工程 创建一个普通的 Maven 工程(注意,这里可以不必创建 Web 工程),并添加 SpringMVC 的依赖,同时,这里环境的搭建需要用到 Servlet ,所以我们还需要引入 Servlet 的依赖(一定不能使用低版本的 Servlet),最终的 pom.xml 文件如下: <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.1.6.RELEASE</version> </dependency> <dependency> <groupId>javax.servlet<

list<E>分组成Map<K,List<E>>方式

爱⌒轻易说出口 提交于 2020-03-05 23:58:39
任务的描述如下: list<E>分组成Map<K,List<E>>方式 比如一个班级的学生,分成多个小组,目前查出来的数据是list的集合 我们拥有的原始数据集合 List<Person> allStudent = new LinkedList<>(); 需要把结果处理成 Map<Integer, List<Person>>` 我们处理的方式使用 Collectors.toMap() 这个方法的原始描述 /** * Returns a {@code Collector} that accumulates elements into a * {@code Map} whose keys and values are the result of applying the provided * mapping functions to the input elements. * * <p>If the mapped * keys contain duplicates (according to {@link Object#equals(Object)}), * the value mapping function is applied to each equal element, and the * results are merged using the provided

简单实用的对象转换复制工具(续)

时光怂恿深爱的人放手 提交于 2020-03-04 12:03:10
前文链接: https://my.oschina.net/jack90john/blog/3052715 接前文,有朋友提到说这个工具只实现了浅拷贝,在很多条件下不适合使用,这篇文章我们就来解决这个浅拷贝问题。 一、概念 首先我们得先要弄清楚什么是浅拷贝,什么是深拷贝。这里我们就不铺开说了,大致了解一下概念。 所谓浅拷贝就是指复制了原对象的引用,拷贝后的对象和原对象依然是指向同一地址和同一实例,这会导致一个问题就是,我在修改拷贝后的对象时原对象会同时发生变化。而深拷贝就不会存在上述问题,深拷贝是拷贝了原对象的值,拷贝后的对象和原对象完全独立开互不影响,所以我们修改拷贝后的对象时原对象不会发生任何变化。 二、思路 实现深拷贝有好几种方法,最常用的有: 序列化与反序列化, 重写克隆方法, 使用三方类库提供的方法。 我们一项一项的来看, 第一种方法又有几种方式,典型两种,一种是通过IO流来实现,另一种只通过Gson,FastJson,Jackson等将对象序列化成json后在反序列化成对象来实现。这里我想减少三方类库等使用所以排除第二种方式。使用IO流实现的方式待定。 第二种方法需要对每个对象重写克隆方法,在易用性上不如第一种方法,所以排除。 第三种方法使用第三方类库,Apache Commons Lang库提供了SerializationUtils中提供了对象的深拷贝方法

阿里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