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. hdu4135 Co-prime 容斥原理

    Given a number N, you are asked to count the number of integers between A and B inclusive which are ...

  2. String的intern()方法详解

    https://blog.csdn.net/soonfly/article/details/70147205  :图解 https://blog.csdn.net/wjzhang5514/articl ...

  3. Jenkins发布后自动通知【钉钉】

    阅读目录 一.前言 二.使用钉钉推送的优势 三.配置 一.前言 最近使用Jenkins进行自动化部署,但是发布署后,并没有相应的通知,虽然有邮件发送通知,但是发现邮件会受限于大家接受的设置,导致不能及 ...

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

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

  5. 查看Linux系统版本信息(转)

    一.查看Linux内核版本命令(两种方法): 1.cat /proc/version [root@S-CentOS home]# cat /proc/version Linux version 2.6 ...

  6. Ribbon 使用入门

    Ribbon 是 Netflix 下的负载均衡项目,在集群中为各个客户端的通信提供支持,主要实现中间层应用程序的负载均衡,提供以下特性: 负载均衡器,可支持插拔式的负载均衡规则 对多种协议提供支持,例 ...

  7. GBT27930-2015电动汽车非车载传导式充电机与电池管理系统之间的通信协议

    本标准规定了电动汽车非车载传导式充电机(简称充电机)与电池管理系统(Battery Management System,简称BMS)之间基于控制器局域网(Control Area NetWork,简称 ...

  8. MS DSVM、DLVM

    DSVM(Data Science Virtual Machine 数据科学虚拟机)  是专为研究数据科学生成的 Microsoft Azure 云上的自定义 VM 映像.它预装并预配了许多热门数据科 ...

  9. golang语言并发与并行——goroutine和channel的详细理解(一) 转发自https://blog.csdn.net/skh2015java/article/details/60330785

    如果不是我对真正并行的线程的追求,就不会认识到Go有多么的迷人. Go语言从语言层面上就支持了并发,这与其他语言大不一样,不像以前我们要用Thread库 来新建线程,还要用线程安全的队列库来共享数据. ...

  10. sql server 存储过程使用游标记录

    sql server 存储过程使用游标记录--方便下次参考使用 游标的组成: 声明游标 打卡游标 从一个游标中查找信息 关闭游标 释放游标 游标类型: 静态游标 动态游标 只进游标 键集驱动游标 静态 ...