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. 【BZOJ3894】文理分科

    最小割劲啊 原题:  文理分科是一件很纠结的事情!(虽然看到这个题目的人肯定都没有纠 结过)  小P所在的班级要进行文理分科.他的班级可以用一个n*m的矩阵进行 描述,每个格子代表一个同学的座位.每位 ...

  2. bash常识

    文章目录 比较是否相等 = 字符串操作 字符串变量的截取操作 字符串替换 字符串比较 取长度 查找子串的位置 选取子串 fork, exec, source fork exec source 补充 其 ...

  3. git配置config文件

    1.Git有一个工具被称为git config,它允许你获取和设置变量:这些变量可以控制Git的外观和操作的各个方面.这些变量以等级的不同可以被存储在三个不同的位置: (1) /etc/gitconf ...

  4. :first :first-child .first()和.get() .eq()

    :first .first()只匹配一个元素,而 :first-child 将为每个父元素匹配一个子元素 .get()得到的是dom 元素  $('li').get()没有参数返回一个数组 .eq() ...

  5. [转]Proxy代理详解

    一.代理的概念 动态代理技术是整个java技术中最重要的一个技术,它是学习java框架的基础,不会动态代理技术,那么在学习Spring这些框架时是学不明白的. 动态代理技术就是用来产生一个对象的代理对 ...

  6. window.external的使用

    我们在js中可以通过window.external.myfunc()来调用浏览器提供的外部方法myfunc.可以让网页内的js脚本中能调用C++代码. window.external 是外部对象,如你 ...

  7. html 简单的table样式

    效果预览: 代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> < ...

  8. jmeter分布式测试的坑

    转 : jmeter分布式测试的坑 有关jmeter分布式测试的环境配置,大概就是那样,但是每次想要进行jmeter分布式测试的时候,总是会有各种奇怪的问题,下面整理了一些可能遇到的坑. 只要错误中出 ...

  9. [转]Python中出错:ImportError: No module named win32com.client

    Python中出错:ImportError: No module named win32com.client [问题] [已解决]Python中处理操作Excel中的图表(Chart,Graph) 的 ...

  10. MinGW与Cygwin的一些杂谈

    引用:http://www.cnblogs.com/fancybit/archive/2012/07/08/2581590.html 首先MingW和cygwin都可以用来跨平台开发.  MinGW是 ...