gson解析json

fastjson生成和解析json数据,序列化和反序列化数据

廉价感情. 提交于 2019-12-01 19:01:24
本文讲解2点: 1. fastjson生成和解析json数据 (举例:4种常用类型:JavaBean,List<JavaBean>,List<String>,List<Map<String,Object>) 2.通过一个android程序测试fastjson的用法。 fastjson简介: Fastjson是一个Java语言编写的高性能功能完善的JSON库。fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jackson。并且还超越了google的二进制协议protocol buf。Fastjson完全支持 http://json.org 的标准,也是官方网站收录的参考实现之一。支持各种JDK类型。包括基本类型、JavaBean、Collection、Map、Enum、泛型等。支持JDK 5、JDK 6、Android、阿里云手机等环境。 一. fastjson生成json字符串(JavaBean,List<JavaBean>,List<String>,List<Map<String,Object>) String jsonStrng = JSON.toJSONString(object); 二. fastjson 解析json字符串为四种类型 1. JavaBean Person person = JSON.parseObject

SpringBoot返回JSON

∥☆過路亽.° 提交于 2019-12-01 04:29:41
目录 1、SpringBoot返回JSON简介 2、整合jackson-databind 3、整合Gson 4、整合fastjson 1、SpringBoot返回JSON简介 随着web开发前后端分离技术的盛行,json是目前主流的前后端数据交互方式,使用json数据进行交互需要对json数据进行转换解析,需要用到一些json处理器,常用的json处理器有: jackson-databind,SpringBoot默认的json处理器 Gson,是Google的一个开源框架 fastjson,目前解析速度最快的开源解析框架,由阿里开发 下面分别介绍如何在SpringBoot中整合三大json解析框架。 2、整合jackson-databind Jackson-databind是SpringBoot默认集成在web依赖中的框架,因此我们只需要引入 spring-boot-starter-web 依赖,就可以返回json数据: 接着上篇文章中的demo继续修改demo,先看下代码框架: 下面开始修改demo,返回json数据,首先在pojo下创建一个Good实体类,并且可以通过注解来解决日期格式等需求: package com.gongsir.springboot02.pojo; import com.fasterxml.jackson.annotation.JsonFormat;

Android之JSON的三种解析方式

半城伤御伤魂 提交于 2019-11-30 15:16:22
一、什么是JSON? JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度。 JSON就是一串字符串 只不过元素会使用特定的符号标注。 {} 双括号表示对象 [] 中括号表示数组 "" 双引号内是属性或值 : 冒号表示后者是前者的值(这个值可以是字符串、数字、也可以是另一个数组或对象) 所以 {"name": "Michael"} 可以理解为是一个包含name为Michael的对象 而[{"name": "Michael"},{"name": "Jerry"}]就表示包含两个对象的数组 当然了,你也可以使用{"name":["Michael","Jerry"]}来简化上面一部,这是一个拥有一个name数组的对象 二、JSON解析之传统的JSON解析 1、生成JSOn字符串 ? 1 2 3 4 5 public static String createJsonString(String key, Object value) { JSONObject jsonObject = new JSONObject(); jsonObject.put(key, value); return jsonObject.toString(); } 2、解析JSON字符串 分为以下三种情况,一个 Java Bean

JSONObject与JSONArray使用

岁酱吖の 提交于 2019-11-29 06:40:58
JSONObject与JSONArray Java 不像 PHP 解析和生产JSON总是一个比较痛苦的过程。但是使用JSONObject和JSONArray会让整个过程相对舒服一些。 JsonObject和JsonArray区别就是JsonObject是对象形式,JsonArray是数组形式 需要依赖的包: commons-lang.jar commons-beanutils.jar commons-collections.jar commons-logging.jar ezmorph.jar json-lib-2.2.2-jdk15.jar 生成JSON: [java] view plain copy print ? public class Test2 { public static void main(String[] args) { /* 创建JsonObject第一种方法 */ JSONObject jsonObject = new JSONObject(); jsonObject.put("UserName", "ZHULI"); jsonObject.put("age", "30"); jsonObject.put("workIn", "ALI"); System.out.println("jsonObject1:" + jsonObject); /*

网络数据交换格式

Deadly 提交于 2019-11-29 06:03:11
1.Json的讲解 1.1json是什么? •JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。可在不同平台之间进行数据交换。 JSON采用兼容性很高的、完全独立于语言文本格式,同时也具备类似于C语言的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)体系的行为。这些特性使JSON成为理想的数据交换语言。 •本质就是具有特定格式的字符串 •JSON数据已经是客户端与服务器端交互的最常用的选择, 已经很少使用xml来进行数据交互了 1.2json的数据格式 •整体结构: •Json数组 : [ ] •Json对象: { } •Json数组的结构: [value1, value2, value3] •Json对象的结构: {key1:value1, key2:value2, key3:value3} •key的数据类型: 字符串 •value的数据类型: •数值 •字符串 •null •json数组 [] •json对象 {} •例子: [1, “ab”,[], {“n”:123, “b”:”abc”}] [1, “a”:3] {“name”:”TOM”, “age”:12} {“aa”:“a”, 3} 2.1json的解析 解析技术:

【JSON解析】JSON解析

非 Y 不嫁゛ 提交于 2019-11-28 21:20:54
前三篇博客分别介绍了xml的三种解析方法,分别是SAX,DOM,PULL解析XML,兴趣的朋友可以去看一下这 【XML解析(一)】SAX解析XML , 【XML解析(二)】DOM解析XML , 【XML解析(三)】PULL解析XML 三篇文章学习一下XML解析。我们知道客户端请求服务器,服务器给我们返回的数据通常不只是xml,还可以是json,html,当然json和xml是用的最多的了,下篇文章将会向大家解析如何解析html数据,这篇文章先向大家介绍如何解析服务器给我们返回的json数据。 一、概述  JSON是 JavaScript Object Notation 的简称,起源于js(javascript)它是一种轻量级的数据交换格式,JSON不仅在js中广泛使用,同时还在其他领域得到广泛使用,如c,c++,java,Php,swift等等,成为了一种通用的理想数据交换格式,它有两种数据结构,分别是对象,数组,它形式上有花括号{}和中括号[]嵌套,{}中的是代表对象,[]中的为数组,即对象中有数组,数组中又有对象,而且以及键/值对出现。 JSON语法:  json是javascript对象表示语法的子集 数据在键值对中 数据有逗号分隔 花括号保存对象 JSON的值: 数字(整数或浮点数) 字符串(在双引号中 逻辑值(true 或 false) 数组(在方括号中) 对象

【Java】各个JSON技术的比较

♀尐吖头ヾ 提交于 2019-11-28 09:17:15
一 、各个JSON技术的简介和优劣 1. json-lib json-lib最开始的也是应用最广泛的json解析工具,json-lib 不好的地方确实是依赖于很多第三方包,包括commons-beanutils.jar,commons-collections-3.2.jar,commons-lang-2.6.jar,commons-logging-1.1.1.jar,ezmorph-1.0.6.jar,对于复杂类型的转换,json-lib对于json转换成bean还有缺陷,比如一个类里面会出现另一个类的list或者map集合,json-lib从json到bean的转换就会出现问题。 json-lib在功能和性能上面都不能满足现在互联网化的需求。 2. 开源的Jackson 相比json-lib框架,Jackson所依赖的jar包较少,简单易用并且性能也要相对高些。 而且Jackson社区相对比较活跃,更新速度也比较快。 Jackson对于复杂类型的json转换bean会出现问题,一些集合Map,List的转换出现问题。 Jackson对于复杂类型的bean转换Json,转换的json格式不是标准的Json格式 3. Google的Gson Gson是目前功能最全的Json解析神器,Gson当初是为因应Google公司内部需求而由Google自行研发而来,

JSON数据与Java对象的相互转换

十年热恋 提交于 2019-11-28 08:48:40
JSON数据与Java对象的相互转换 JSON解析器 常见的解析器:Jsonlib 、Gson、 fastjson、 jackson JSON转化为Java对象 使用步骤: 1、导入jackson的相关jar包 2、创建jackson核心对象ObjectMapper 3、使用ObjectMapper的相关方法进行转换 1、readValue(json字符串数组,Class) Java转化为JSON对象 使用步骤 1、导入jackson的相关jar包 2、创建jackson核心对象ObjectMapper 3、使用ObjectMapper的相关方法进行转换 转换方式: * writeValue(参数1,obj): 参数1: File:将obj对象转换为JSON字符串,并保存到指定的文件中 Writer:将obj对象转换为JSON字符串,并将json数据填充到字符输出流中 OutputStream:将obj对象转换为JSON字符串,并将json数据填充到字节输出流中 * writeValueAsString(obj):将对象转为json字符串 注解 @JsonIgnore:排除属性。 @JsonFormat:属性值得格式化 @JsonFormat(pattern = "yyyy-MM-dd") 复杂Java对象转换 List:数组 Map:对象格式一致 创建person类 public

廖雪峰Java14Java操作XML和JSON-2JSON-1Json介绍

◇◆丶佛笑我妖孽 提交于 2019-11-28 04:05:55
JSON是一种类似JavaScript对象的数据表示格式 JavaScript Object Notation 去除了JavaScript的执行语句 仅保留数据 JSON格式: 仅保留UTF-8编码 必须使用双引号 特殊字符用\转译 "abc\nxyz\tend" JSON特点: 适合表示层次结构 格式简单、仅支持 * {..} 键值对 * [...] 数组 * String字符串 * Number数值(整数和浮点数) * Boolean 布尔值 * null空值 { "code": "0", "data": { "list": [{ "id": "9387", "Person": "张三", "patId": 10406240, "unitPrice": 2088.5, "marry": true, "visitStatus": null }], "totalCount": "153" }, "message": "操作成功" } 浏览器直接支持JSON的读写。因为浏览器的JavaScript方法提供了JSON.parse()和JSON.stringify(),能够直接吧一个JSON字符串变为JavaScript对象或者把JavaScript对象序列化为JSON字符串,所以在开发web应用的时候,使用JSON作为数据传输,在浏览器端可以直接使用JavaScript读写JSON。

java FastJson的使用总结

*爱你&永不变心* 提交于 2019-11-27 13:03:00
1.前言 1.1.FastJson的介绍:   JSON (javaScript Object Notation)是一种轻量级的数据交换格式。主要采用键值对( {"name": "json"} )的方式来保存和表示数据。 JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质上是一个字符串。   JSON的处理器有很多,这里我介绍一下FastJson,FastJson是阿里的开源JSON解析库,可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。是一个极其优秀的Json框架,Github地址: FastJson 1.2.FastJson的特点: 1.FastJson数度快,无论序列化和反序列化,都是当之无愧的fast 2.功能强大(支持普通JDK类包括任意Java Bean Class、Collection、Map、Date或enum) 3.零依赖(没有依赖其它任何类库) 1.3.FastJson的简单说明: FastJson对于json格式字符串的解析主要用到了下面三个类: 1.JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换 2.JSONObject:fastJson提供的json对象 3.JSONArray