json--处理框架
1、Android 中的Json解析工具fastjson 、序列化、反序列化
可以处理含有内部类的类,或包含集合内部类的类;
3、Android-JSONTool 一个简易的Json框架类,小到只有一个类
有时为了简化代码的大小,尽可能的压缩apk的大小。就不能再使用大而全的框架了。
4、在线Json解析
/////---------------------------
1、概念
Gson是谷歌发布的一个json解析框架
2、如何获取
github:https://github.com/google/gson
android studio使用
1
compile 'com.google.code.gson:gson:2.7'
查看 最新版本号
下载最新的jar包 ,http://search.maven.org/#search%7Cga%7C1%7Ccom.google.code.gson
3、基于Gson封装的简单工具类JsonUtil
package com.zyj.app.util;
public class JsonUitl {
private static Gson mGson = new Gson();
/**
* 将json字符串转化成实体对象
* @param json
* @param classOfT
* @return
*/
public static Object stringToObject( String json , Class classOfT){
return mGson.fromJson( json , classOfT ) ;
}
/**
* 将对象准换为json字符串 或者 把list 转化成json
* @param object
* @param <T>
* @return
*/
public static <T> String objectToString(T object) {
return mGson.toJson(object);
}
/**
* 把json 字符串转化成list
* @param json
* @param cls
* @param <T>
* @return
*/
public static <T> List<T> stringToList(String json ,Class<T> cls ){
Gson gson = new Gson();
List<T> list = new ArrayList<T>();
JsonArray array = new JsonParser().parse(json).getAsJsonArray();
for(final JsonElement elem : array){
list.add(gson.fromJson(elem, cls));
}
return list ;
}
}
4、JsonUtil的简单测试
4.1、定义bean对象
package com.zyj.app.bean;
/**
* Created by ${zyj} on 2016/9/5.
*/
public class Me {
String name ;
String age ;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}
4.2、测试代码
List<Me> list = new ArrayList<>() ;
Me me1 = new Me() ;
me1.setName( "name111");
me1.setAge( "age111");
Me me2 = new Me() ;
me2.setName( "name222");
me2.setAge( "age222");
Me me3 = new Me() ;
me3.setName( "name333");
me3.setAge( "age333");
list.add( me1 ) ;
list.add( me2 ) ;
list.add( me3 ) ;
//测试一:把list对象转换成json字符串
String json1 = JsonUitl.objectToString( list ) ;
//日志打印
KLog.d( "测试一 " + json1 );
//测试二:把json字符串转化成list集合
List<Me> listMe = JsonUitl.stringToList( json1 , Me.class ) ;
//日志打印
for ( Me meTest : listMe ){
KLog.d( "测试二 " + "name: " + meTest.getName() + " age: " + meTest.getAge() );
//测试三 : 把对象转化成json字符串
String jsonTest3 = JsonUitl.objectToString( meTest ) ;
KLog.d( "测试三 " + jsonTest3 );
}
4.3、测试结果
测试一 [{"age":"age111","name":"name111"},{"age":"age222","name":"name222"},{"age":"age333","name":"name333"}]
测试二 name: name111 age: age111
测试三 {"age":"age111","name":"name111"}
测试二 name: name222 age: age222
测试三 {"age":"age222","name":"name222"}
测试二 name: name333 age: age333
测试三 {"age":"age333","name":"name333"}
json--处理框架的更多相关文章
- Spring Boot默认的JSON解析框架设置
方案一:启动类继承WebMvcConfigurerAdapter,覆盖方法configureMessageConverters ... @SpringBootApplication public cl ...
- 十七、springboot配置FastJson为Spring Boot默认JSON解析框架
前提 springboot默认自带json解析框架,默认使用jackson,如果使用fastjson,可以按照下列方式配置使用 1.引入fastjson依赖库: maven: <dependen ...
- springboot使用fastJson作为json解析框架
springboot使用fastJson作为json解析框架 springboot默认自带json解析框架,默认使用jackson,如果使用fastjson,可以按照下列方式配置使用 〇.搭建spri ...
- 移动架构-json解析框架
JSON在现在数据传输中占据着重要地位,相比于xml,其解析和构成都要简单很多,第三方的解析框架也不胜枚举,这里之所以要自定义一个json解析框架,一方面是更好的了解json解析过程,另一方面是有时候 ...
- JSON数据处理框架Jackson精解第一篇-序列化与反序列化核心用法
Jackson是Spring Boot默认的JSON数据处理框架,但是其并不依赖于任何的Spring 库.有的小伙伴以为Jackson只能在Spring框架内使用,其实不是的,没有这种限制.它提供了很 ...
- Snack3 3.2 发布,轻量的Json+Jsonpath框架
Snack3 是一个轻量的 JSON + Jsonpath 框架. 借鉴了 Javascript 所有变量由 var 申明,及 Xml dom 一切都是 Node 的设计.其下一切数据都以ONode表 ...
- Android Json处理框架
1.Android 中的Json解析工具fastjson .序列化.反序列化 2.Android Gson的使用总结 3.Android-JSONTool 一个简易的Json框架类,小到只有一个类 有 ...
- 速度最快的Json序列框架Jil,入门动手实录
好吧,我又先要贴出跑分图了,出处 Jil是一个面向Json的序列化框架,在Nuget上可以下载到 支持数据类型 值得一提的是,Guid指定带破折号格式(44B2673B-B5CA-477B-A8EA- ...
- 4. 使用别的json解析框架【从零开始学Spring Boot】
转载:http://blog.csdn.net/linxingliang/article/details/51585921 此文章已经废弃,请看新版的博客的完美解决方案: 78. Spring Boo ...
- SpringMVC+Hibernate+Junit4+json基本框架近乎0配置
公司是做APP开发的,须要后台来提供接口,于是乎,这个任务就交给我,经过重复的尝试,学习和參考别人的demo,最终搭出自己还算惬意的框架.SpringMVC+Sping3+Hibernate4+Jun ...
随机推荐
- 踩坑tomcat8.5的cookie机制
https://www.pomelolee.com/1601.html tomcat升级到8.5版本 发现登录和退出报错,报错日志为下 [http-nio-8080-exec-20] 2016 Aug ...
- microcks 微服务mocks 工具&&运行时
microcks 是一个方便的微服务mock 工具,我们可以用来mock request.response,同时获取api 的服务契约,microcks 支持的部署模式也比较多,docker-comp ...
- 不用修改 hosts 本地开发(续篇)
上一篇说过不修改 hosts 在 Chrome 中可以使用 *.localhost 进行绑定域名开发. 但只能用于 Chrome 中,今天找了一个还有一些好心人提供了域名指向 127.0.0.1 . ...
- KVM部署、使用、调优
背景介绍 传统数据中心面临的问题: 资源使用率低 资源分配不均 自动化能力差 初始化成本高 云计算: 云计算是一种按使用量付费的模式,这种模式提供可用的.便捷的.按需的网络访问, 进入可配置的计 ...
- JSBridge 知识点
比较好的介绍文章: Android中JSBridge的原理与实现
- ELK入门以及常见指令
ES的资源: https://www.elastic.co/guide/en/elasticsearch/reference/current/getting-started.htmlhttps://w ...
- 查看Linux系统版本信息(转)
一.查看Linux内核版本命令(两种方法): 1.cat /proc/version [root@S-CentOS home]# cat /proc/version Linux version 2.6 ...
- flume 架构设计优化
对于企业中常用的flume type 概括如下:ource(获取数据源): exec (文件) spoolingdir (文件夹) taildir(文件夹及文件的变动) kafka syslog ht ...
- Linux/Centos下安装部署phantomjs 及使用
PhantomJS 是一个基于 WebKit 的服务器端 JavaScript API.它全面支持web而不需浏览器支持,其快速,原生支持各种Web标准: DOM 处理, CSS 选择器, JSON, ...
- Docker安装 和简单使用
1.安装依赖 yum install -y yum-utils device-mapper-persistent-data lvm2 2.这一步设置即将安装的是稳定版仓库 yum-config-man ...