Android开发之FastJson概述与简单使用

一个JSON库涉及的最基本功能就是 序列化 和 反序列化 。

Fastjson支持java bean的直接序列化。你可以使用 com.alibaba.fastjson.JSON 这个类进行序列化和反序列化。

fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库。

特点:

FastJson速度最快,fastjson具有极快的性能,超越任其他的Java Json parser。

FastJson功能强大,完全支持Java Bean、集合、Map、日期、Enum,支持范型,支持自省;无依赖。

Fastjson API入口类是 com.alibaba.fastjson.JSON ,常用的序列化操作都可以在JSON类上的静态方法直接完成。

使用Fastjson首先在官网下载,然后应用到自己的项目中,GitHub链接:https://github.com/alibaba/fastjson

FastJson 1.2.6直接下载:https://github.com/alibaba/fastjson/archive/1.2.6.zip

1.概述一下Fastjson中的经常调用的方法

public static final Object parse(String text); //把JSON文本parse为JSONObject或者JSONArray

public static final JSONObject parseObject(String text); //把JSON文本parse成JSONObject

public static final T parseObject(String text, Class clazz); // 把JSON文本parse为JavaBean

public static final JSONArray parseArray(String text); //把JSON文本parse成JSONArray

public static final List parseArray(String text, Class clazz); //把JSON文本parse成JavaBean集合

public static final String toJSONString(Object object); //将JavaBean序列化为JSON文本

public static final String toJSONSt
ring(Object object, boolean prettyFormat); //将JavaBean序列化为带格式的JSON文本

public static final Object toJSON(Object javaObject); //将JavaBean转换为JSONObject或者JSONArray

2.简单的使用Fastjson

1)服务器端 使用 Fastjson 将数据转换成json字符串,主要使用的函数如下:

public static String createJsonString(Object value) {

String alibabaJson = JSON.toJSONString(value);//此处转换

return alibabaJson;

}

服务器端调用此函数执行转换即可,此处不再赘述。

2)客户端 将从服务器端获取到的json字符串 转换为相应的javaBean,下面获取Json数据的函数例子,供参考:

//获取Json数据

public static String getJsonContent(String urlStr) {

try {

// 获取HttpURLConnection连接对象

URL url = new URL(urlStr);

HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();

// 设置连接属性

httpConn.setConnectTimeout(3000);

httpConn.setDoInput(true);

httpConn.setRequestMethod(“GET”);

// 获取相应码 200表示请求success

int respCode = httpConn.getResponseCode();

if (respCode == 200){

//转换并返回

return convertStream2Json(httpConn.getInputStream());

}

}catch (MalformedURLException e){

e.printStackTrace();

}catch (IOException e){

e.printStackTrace();

}

return null;

}

private static String convertStream2Json(InputStream inputStream) {

String jsonStr = “”;

// ByteArrayOutputStream相当于内存输出流

ByteArrayOutputStream out = new ByteArrayOutputStream();

最后

小编这些年深知大多数初中级Android工程师,想要提升自己,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助

因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

资料⬅专栏获取
一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。**

[外链图片转存中…(img-4jReEIjs-1718989520054)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

资料⬅专栏获取

  • 15
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值