1、Android 中的Json解析工具fastjson 、序列化、反序列化

2、Android Gson的使用总结

可以处理含有内部类的类,或包含集合内部类的类;

3、Android-JSONTool 一个简易的Json框架类,小到只有一个类

有时为了简化代码的大小,尽可能的压缩apk的大小。就不能再使用大而全的框架了。

4、在线Json解析

http://www.bejson.com/

http://json.cn/#

/////---------------------------

2、Android Gson的使用总结

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--处理框架的更多相关文章

  1. Spring Boot默认的JSON解析框架设置

    方案一:启动类继承WebMvcConfigurerAdapter,覆盖方法configureMessageConverters ... @SpringBootApplication public cl ...

  2. 十七、springboot配置FastJson为Spring Boot默认JSON解析框架

    前提 springboot默认自带json解析框架,默认使用jackson,如果使用fastjson,可以按照下列方式配置使用 1.引入fastjson依赖库: maven: <dependen ...

  3. springboot使用fastJson作为json解析框架

    springboot使用fastJson作为json解析框架 springboot默认自带json解析框架,默认使用jackson,如果使用fastjson,可以按照下列方式配置使用 〇.搭建spri ...

  4. 移动架构-json解析框架

    JSON在现在数据传输中占据着重要地位,相比于xml,其解析和构成都要简单很多,第三方的解析框架也不胜枚举,这里之所以要自定义一个json解析框架,一方面是更好的了解json解析过程,另一方面是有时候 ...

  5. JSON数据处理框架Jackson精解第一篇-序列化与反序列化核心用法

    Jackson是Spring Boot默认的JSON数据处理框架,但是其并不依赖于任何的Spring 库.有的小伙伴以为Jackson只能在Spring框架内使用,其实不是的,没有这种限制.它提供了很 ...

  6. Snack3 3.2 发布,轻量的Json+Jsonpath框架

    Snack3 是一个轻量的 JSON + Jsonpath 框架. 借鉴了 Javascript 所有变量由 var 申明,及 Xml dom 一切都是 Node 的设计.其下一切数据都以ONode表 ...

  7. Android Json处理框架

    1.Android 中的Json解析工具fastjson .序列化.反序列化 2.Android Gson的使用总结 3.Android-JSONTool 一个简易的Json框架类,小到只有一个类 有 ...

  8. 速度最快的Json序列框架Jil,入门动手实录

    好吧,我又先要贴出跑分图了,出处 Jil是一个面向Json的序列化框架,在Nuget上可以下载到 支持数据类型 值得一提的是,Guid指定带破折号格式(44B2673B-B5CA-477B-A8EA- ...

  9. 4. 使用别的json解析框架【从零开始学Spring Boot】

    转载:http://blog.csdn.net/linxingliang/article/details/51585921 此文章已经废弃,请看新版的博客的完美解决方案: 78. Spring Boo ...

  10. SpringMVC+Hibernate+Junit4+json基本框架近乎0配置

    公司是做APP开发的,须要后台来提供接口,于是乎,这个任务就交给我,经过重复的尝试,学习和參考别人的demo,最终搭出自己还算惬意的框架.SpringMVC+Sping3+Hibernate4+Jun ...

随机推荐

  1. cdcq的独立博客上线辣!-> http://cdcq.coding.me/blog/

    cdcq的独立博客上线辣!-> http://cdcq.coding.me/blog/ 这个博客会逐渐停更 独立博客被硬盘保护吃掉了,直到省选前独立博客应该不会再上线 (如果没进队就永远不会上线 ...

  2. 使用 pkg 打包分发 nodejs 应用

    pkg 是一个很不错的跨平台 nodejs 应用打包工具,使用此工具,我们只需要给与用户提供一个简单的 可执行文件就可以了,同时代码也是二进制的,提高了代码的安全性 备注:测试demo 很简单,也比较 ...

  3. Makefile introduction (very old presentation)

  4. java_架构与模式

    框架有哪些?C++语言的QT.MFC.gtk,Java语言的SSH,php语言的 smarty(MVC模式),python语言的django(MTV模式)等等设计模式有哪些?工厂模式.适配器模式.策略 ...

  5. Mybatis中在log日志或控制台打印执行的sql

    最近在调试代码时,需要查看当前操作执行的sql,在日志里没查到,经过修改logback配置后成功,现记录如下:一.Mybatis版本是3.0.6(我正在用的版本)该版本只需要修改logback.xml ...

  6. $.post() 和 $.get() 如何同步请求

    由于$.post() 和 $.get() 默认是 异步请求,如果需要同步请求,则可以进行如下使用: 在$.post()前把ajax设置为同步:$.ajaxSettings.async = false; ...

  7. 怎么理解Python画图中的X,y

    X_outliers=np.array([[3.4, 1.3], [3.2, 0.8]]) y_outliers=np.array([0, 0]) 要明白X,y不再是我们高中时候学的x,y轴的坐标:首 ...

  8. mysql5.5 for linux 安装(转)

    下载地址: http://dev.mysql.com/downloads/mysql/5.5.html#downloads 进入后会有选择系统 选择linux-generic后 又有很多产品选择,我们 ...

  9. 洛谷 4383 [八省联考2018]林克卡特树lct——树形DP+带权二分

    题目:https://www.luogu.org/problemnew/show/P4383 关于带权二分:https://www.cnblogs.com/flashhu/p/9480669.html ...

  10. linux mv命令详解

    Linux mv命令 Linux mv命令用来为文件或目录改名.或将文件或目录移入其它位置. 用法: mv [选项]... [-T] 源文件 目标文件 mv [选项]... 源文件... 目录 mv ...