Android解析JSON数据(三)——FastJson解析

来源:互联网 发布:淘宝价格法违规投诉 编辑:程序博客网 时间:2024/05/16 06:00

Fastjson是一个Java语言编写的高性能功能完善的JSON库。它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致,是目前Java语言中最快的JSON库.Fastjson接口简单易用,已经被广泛使用在缓存序列化,协议交互,Web输出,Android客户端等多种应用场景。

官方API地址:点击打开链接

1、将json格式的对象转换为Java对象

测试数据
{
"id":2, "name":"大虾", 
"price":12.3, 
"imagePath":"http://192.168.10.165:8080/L05_Server/images/f1.jpg"
}

代码:

private void jsonToJavaObjectByFastJson() {    // 1 获取或创建json数据    String json = "{\n" +            "\t\"id\":2, \"name\":\"大虾\", \n" +            "\t\"price\":12.3, \n" +            "\t\"imagePath\":\"http://192.168.10.165:8080/L05_Server/images/f1.jpg\"\n" +            "}\n";    // 2 解析JSON数据    ShopInfo shopInfo = JSON.parseObject(json, ShopInfo.class);    // 3 显示数据    tvFastjsonOrignal.setText(json);    tvFastjsonLast.setText(shopInfo.toString());}

2、将Java对象转换为json对象

测试数据
[
    {
        "id": 1,
        "imagePath": "http://192.168.10.165:8080/f1.jpg",
        "name": "大虾1",
        "price": 12.3
    },
    {
        "id": 2,
        "imagePath": "http://192.168.10.165:8080/f2.jpg",
        "name": "大虾2",
        "price": 12.5
    }
]

代码

private void jsonToJavaListByFastJson() {    String json = "[\n" +            "    {\n" +            "        \"id\": 1,\n" +            "        \"imagePath\": \"http://192.168.10.165:8080/f1.jpg\",\n" +            "        \"name\": \"大虾1\",\n" +            "        \"price\": 12.3\n" +            "    },\n" +            "    {\n" +            "        \"id\": 2,\n" +            "        \"imagePath\": \"http://192.168.10.165:8080/f2.jpg\",\n" +            "        \"name\": \"大虾2\",\n" +            "        \"price\": 12.5\n" +            "    }\n" +            "]";    // 2 解析JSON数据    List<ShopInfo> shops=JSON.parseArray(json,ShopInfo.class);    // 3 显示数据    tvFastjsonOrignal.setText(json);    tvFastjsonLast.setText(shops.toString());}

3、将json格式的数组[]转换为Java对象的List

private void javaToJsonObjectByFastJson() {    // 1 创建一个Java对象    ShopInfo shopInfo = new ShopInfo(1, "鲍鱼", 250.0, "baoyu");    // 2 生成JSON数据    String json=JSON.toJSONString(shopInfo);    // 3 显示数据    tvFastjsonOrignal.setText(shopInfo.toString());    tvFastjsonLast.setText(json);}

 4、将Java对象的List转换为json数组[]

private void javaToJsonArrayByFastJson() {    // 1 创建一个Java集合    List<ShopInfo> shops = new ArrayList<>();    ShopInfo baoyu = new ShopInfo(1, "鲍鱼", 250.0, "baoyu");    ShopInfo longxia = new ShopInfo(2, "龙虾", 251.0, "longxia");    shops.add(baoyu);    shops.add(longxia);    // 2 生成JSON数据    String json = JSON.toJSONString(shops);    // 3 显示JSON数据    tvFastjsonOrignal.setText(shops.toString());    tvFastjsonLast.setText(json);}

总结:

首先感谢尚硅谷给我提供的帮助,因为能力欠缺,暂时写这些,随后能力提升,会将官方上所有的用法写一遍。文章仅作为自己提升能力的渠道,若有差错,请指正!

0 0
原创粉丝点击