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. putty登陆sourceforge.net(密钥的设置)

    现在直接启动putty.exe是不能登陆sourceforge.net 的.按vps的方式,输入地址.用户名和密码后,程序就自动关闭.在登入前需要安装密匙,具体做法如下: 首先得生成一个SSH Key ...

  2. centos7安装部署mysql5.7服务器

    因为自带源没有最新版的mysql,所以我们需要自己下载rpm包,先下载下面的rpm包源 https://repo.mysql.com//mysql57-community-release-el7-11 ...

  3. MySQL--查看数据库连接信息

    ===================================== 查看当前连接到数据库的用户和Host ## 查看当前连接到数据库的用户和Host ## SELECT DISTINCT US ...

  4. day1 python学习

    Python的分类 编译型:一次性,将全部程序编译成二进制文件,然后再运行. 有点:执行效率高 缺点:开发效率低,不能跨平台使用. 解释型:当你程序运行时,一行一行的解释,并运行 优点:开发效率高,可 ...

  5. http笔记汇总

    网上笔记参考: https://juejin.im/post/5b34e6ba51882574d20bbdd4#heading-8 http://dy.163.com/v2/article/detai ...

  6. postman测试REST接口注意事项

    postman在测试第三方REST接口,当POST请求内容要求为application/json时,注意要在postman中设置POST请求体类型设置为raw,然后设置其内容为application/ ...

  7. 图像识别的前期工作——使用pillow进行图像处理

    pillow是个很好用的python图像处理库,可以到官方网站下载最新的文件.如果官网的任何PIL版本都不能与自己的python版本对应,或安装成功后发现运行出错,可以尝试从一个非官方的whl网站下载 ...

  8. idea 中maven编译速度过慢的问题的解决

    解决方案一 在创建Maven项目时加上 archetypeCatalog=internal 参数,如下: 解决方案二 在maven的VM Options加上-DarchetypeCatalog=int ...

  9. 关于plot画图的原理

    首先是导入的: Import matplotlib.pyplot as plt 这份导入要背住,没事就是需要你进行导入的: 然后就是画图了,下面举一个例子: import numpy as np im ...

  10. 使用JMeter进行RESTful API测试

    使用JMeter进行RESTful API测试 在哪里设置实现最优脚本重用的属性 由于支持云的应用程序通常可以轻松.快速地进行复制和部署,所以可以在多种环境中对其进行测试.如果您需要在多个环境中测试和 ...