您的位置:首页 > 移动开发 > Android开发

Android利用FastJson技术解析JSON学习记录

2020-01-13 20:12 197 查看

前言:

利用阿里巴巴的FastJson技术解析四种Json,将Json转化为Java,主要分为四种:将Json字符串转化为Java对象、将Json字符串转化为Java对象的List、将Java对象转化为Json字符串、将Java对象的List转化为json字符串。
其中本文关于Json数据参考「程序猿在广东」的原创文章,下面是链接。

原文网址:https://www.geek-share.com/detail/2691149301.html

特点:Fastjson是用Java语言编写的高性能功能完善的JSON库。它采用了一种“假定有序、快速匹配”的算法,

把JSON Parse的性能提升到极致,是目前Java语言中最快的JSON库。

下载网址:https://github.com/alibaba/fastjson

一:将Json字符串转化为Java对象

API:
T parseObject(String json, Class classOfT);

格式:
JSON.parseObject()

(1)获取json数据

String json ="{\n" +
"\t\"id\":2, \"name\":\"金鱼\", \n" +
"\t\"price\":12.3, \n" +
"\t\"imagePath\":\"http://blog.csdn.net/qq_29269233/L05_Server/images/f1.jpg\"\n" +
"}\n";

(2)解析json数据

ShopInfo shopInfo = JSON.parseObject(json,ShopInfo.class);

(3)显示json数据

tv_fast_orignal.setText(json);
tv_fast_last.setText(shopInfo.toString());

二:将Json字符串转化为Java对象的List

API:
ListT parseArray(String json, Class classOfT);

格式:
JSON.parseArray()

(1)获取json数据

String json = "[\n" +
"    {\n" +
"        \"id\": 1,\n" +
"        \"imagePath\": \"http://blog.csdn.net/qq_29269233/f1.jpg\",\n" +
"        \"name\": \"金鱼1\",\n" +
"        \"price\": 12.3\n" +
"    },\n" +
"    {\n" +
"        \"id\": 2,\n" +
"        \"imagePath\": \"http://blog.csdn.net/qq_29269233/f2.jpg\",\n" +
"        \"name\": \"金鱼2\",\n" +
"        \"price\": 12.5\n" +
"    }\n" +
"]";

(2)解析json数据

JSONArray jsonArray = JSON.parseArray(json);

(3)显示json数据

tv_fast_orignal.setText(json);
tv_fast_last.setText(jsonArray.toString());

三:将Java对象转化为Json字符串

API:
String toJSONString(Object object);

格式:
JSON.toJSONString()

(1)获取Java对象

ShopInfo shopInfo = new ShopInfo(1, "鸡蛋", 1.5, "egg");

(2)Java对象转化为Json数据

String toJSONString = JSON.toJSONString(shopInfo);

(3)显示数据

tv_fast_orignal.setText(shopInfo.toString());
tv_fast_last.setText(toJSONString);

四:将Java对象的List转化为json字符串

API:
String toJSONString(Object object);

格式:
JSON.parseArray()

(1)创建Java数组

List<ShopInfo> shopInfoList = new ArrayList<>();
ShopInfo egg = new ShopInfo(1,"鸡蛋",1.5,"egg");
ShopInfo fish = new ShopInfo(2,"鱼",20.0,"fish");
shopInfoList.add(egg);
shopInfoList.add(fish);

(2)Java对象转化为json字符串

String toJSONString = JSON.toJSONString(shopInfo);

(3)显示数据

tv_fast_orignal.setText(shopInfoList.toString());
tv_fast_last.setText(toJSONString);
  • 点赞
  • 收藏
  • 分享
  • 文章举报
ABbo9 发布了5 篇原创文章 · 获赞 0 · 访问量 72 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: