Fastjson和Gson解析

Gson和Fastjson区别以及使用推荐 一、Gson和Fastjson的区别 Gson是目前功能最强的Json解析神器, 可以通过toJson与fromJson两个转换函数两个函数进行对象的序列号和反序列化,可以对复杂类型的bean到json之间,进行转换,精确度无与伦比。同时,是无依赖,不需要例外额外的jar,能够直接跑在JDK上。 FastJson是阿里用Java语言编写的高性能的JSON处理器,在复杂类型的Bean转... 阅读详情

Fastjson和Gson解析Json

   private String feedStr = "{\"feedStr\":\"aing\",\n" +
            " \"feedInt\":110,\n" +
            " \"feedFloat\":1300.14,\n" +
            " \"feedBoo\":true,\n" +
            " \"feedList\":[\"a1\",\"b1\",\"c1\"],\n" +
            " \"feedMap\":{\"k1\":\"v1\",\"k2\":\"v2\"},\n" +
            " \"bar\":{\"bfeed1\":\"bv1\",\"bfeed2\":\"bv2\"}\n" +
            "}";

    private String feedList = "[\"a1\",\"b1\",\"c1\"]";

    String parsingStr = "[{\"feedId\":\"1\",\"feedName\":\"feedGeenk\"},{\"feedId\":\"2\",\"feedName\":\"alibaba\"}]";

build.gradle添加

implementation "com.alibaba:fastjson:1.1.70.android"
implementation 'com.google.code.gson:gson:2.8.5'

FeedBean

public class FeedBean implements Parcelable {

    private String feedId;
    private String feedName;
    private String feedStr;
    private int feedInt;
    private float feedFloat;
    private boolean feedBoo;
    private List<String> feedList;
    private FeedChildBean feedMap;
    private FeedChildBean bar;

    public String getFeedId() {
        return feedId;
    }

    public void setFeedId(String feedId) {
        this.feedId = feedId;
    }

    public String getFeedName() {
        return feedName;
    }

    public void setFeedName(String feedName) {
        this.feedName = feedName;
    }

    public String getFeedStr() {
        return feedStr;
    }

    public void setFeedStr(String feedStr) {
        this.feedStr = feedStr;
    }

    public int getFeedInt() {
        return feedInt;
    }

    public void setFeedInt(int feedInt) {
        this.feedInt = feedInt;
    }

    public float getFeedFloat() {
        return feedFloat;
    }

    public void setFeedFloat(float feedFloat) {
        this.feedFloat = feedFloat;
    }

    public boolean isFeedBoo() {
        return feedBoo;
    }

    public void setFeedBoo(boolean feedBoo) {
        this.feedBoo = feedBoo;
    }

    public List<String> getFeedList() {
        return feedList;
    }

    public void setFeedList(List<String> feedList) {
        this.feedList = feedList;
    }

    public FeedChildBean getFeedMap() {
        return feedMap;
    }

    public void setFeedMap(FeedChildBean feedMap) {
        this.feedMap = feedMap;
    }

    public FeedChildBean getBar() {
        return bar;
    }

    public void setBar(FeedChildBean bar) {
        this.bar = bar;
    }

    class FeedChildBean implements Parcelable {
        private String k1;
        private String k2;
        private String bfeed1;
        private String bfeed2;

        public String getK1() {
            return k1;
        }

        public void setK1(String k1) {
            this.k1 = k1;
        }

        public String getK2() {
            return k2;
        }

        public void setK2(String k2) {
            this.k2 = k2;
        }

        public String getBfeed1() {
            return bfeed1;
        }

        public void setBfeed1(String bfeed1) {
            this.bfeed1 = bfeed1;
        }

        public String getBfeed2() {
            return bfeed2;
        }

        public void setBfeed2(String bfeed2) {
            this.bfeed2 = bfeed2;
        }


        @Override
        public int describeContents() {
            return 0;
        }

        @Override
        public void writeToParcel(Parcel dest, int flags) {
            dest.writeString(this.k1);
            dest.writeString(this.k2);
            dest.writeString(this.bfeed1);
            dest.writeString(this.bfeed2);
        }

        public FeedChildBean() {
        }

        protected FeedChildBean(Parcel in) {
            this.k1 = in.readString();
            this.k2 = in.readString();
            this.bfeed1 = in.readString();
            this.bfeed2 = in.readString();
        }

        public  final Creator<FeedChildBean> CREATOR = new Creator<FeedChildBean>() {
            @Override
            public FeedChildBean createFromParcel(Parcel source) {
                return new FeedChildBean(source);
            }

            @Override
            public FeedChildBean[] newArray(int size) {
                return new FeedChildBean[size];
            }
        };
    }

    @Override
    public int describeContents() {
        return 0;
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeString(this.feedId);
        dest.writeString(this.feedName);
        dest.writeString(this.feedStr);
        dest.writeInt(this.feedInt);
        dest.writeFloat(this.feedFloat);
        dest.writeByte(this.feedBoo ? (byte) 1 : (byte) 0);
        dest.writeStringList(this.feedList);
    }

    public FeedBean() {
    }

    protected FeedBean(Parcel in) {
        this.feedId = in.readString();
        this.feedName = in.readString();
        this.feedStr = in.readString();
        this.feedInt = in.readInt();
        this.feedFloat = in.readFloat();
        this.feedBoo = in.readByte() != 0;
        this.feedList = in.createStringArrayList();
    }

    public static final Creator<FeedBean> CREATOR = new Creator<FeedBean>() {
        @Override
        public FeedBean createFromParcel(Parcel source) {
            return new FeedBean(source);
        }

        @Override
        public FeedBean[] newArray(int size) {
            return new FeedBean[size];
        }
    };
}

  1. Fastjson解析
//fastjson解析
    private void fastjsonParsing() {
        FeedBean mFeedBean = JSON.parseObject(feedStr, FeedBean.class);
        Log.e("fastjson解析feedStr", "fastjson解析feedStr getFeedStr " + mFeedBean.getFeedStr());
        Log.e("fastjson解析feedStr", "fastjson解析feedStr feedFloat " + mFeedBean.getFeedFloat());
        Log.e("fastjson解析feedStr", "fastjson解析feedStr feedMap k1 " + mFeedBean.getFeedMap().getK1());
        Log.e("fastjson解析feedStr", "fastjson解析feedStr bar bfeed1 " + mFeedBean.getBar().getBfeed1());

        JSONArray mJSONArray = JSON.parseArray(feedList);
        for (int i = 0; i < mJSONArray.size(); i++) {
            Log.e("fastjson解析bar", "fastjson解析bar " + mJSONArray.get(i));
        }

        List<FeedBean> mFeedList = JSON.parseArray(parsingStr, FeedBean.class);
        for (int i = 0; i < mFeedList.size(); i++) {
            Log.e("fastjson解析parsingStr", "fastjson解析parsingStr  getFeedId " + mFeedList.get(i).getFeedId());
            Log.e("fastjson解析parsingStr", "fastjson解析parsingStr getFeedName " + mFeedList.get(i).getFeedName());
        }
    }

在这里插入图片描述

  1. Gson解析
 //gson解析
    private void gsonParsing() {
        FeedBean mFeedBean = new GsonBuilder().create().fromJson(feedStr, FeedBean.class);
        Log.e("gson解析feedStr", "gson解析feedStr getFeedStr " + mFeedBean.getFeedStr());
        Log.e("gson解析feedStr", "gson解析feedStr feedFloat " + mFeedBean.getFeedFloat());
        Log.e("gson解析feedStr", "gson解析feedStr feedMap k1 " + mFeedBean.getFeedMap().getK1());
        Log.e("gson解析feedStr", "gson解析feedStr bar bfeed1 " + mFeedBean.getBar().getBfeed1());

        List<String> mJSONArray = new GsonBuilder().create().fromJson(feedList, new TypeToken<List<String>>() {
        }.getType());
        for (int i = 0; i < mJSONArray.size(); i++) {
            Log.e("gson解析bar", "gson解析bar " + mJSONArray.get(i));
        }

        List<FeedBean> mFeedList = (List<FeedBean>) new GsonBuilder().create().fromJson(parsingStr, new TypeToken<List<FeedBean>>() {
        }.getType());
        for (int i = 0; i < mFeedList.size(); i++) {
            Log.e("gson解析parsingStr", "gson解析parsingStr  getFeedId " + mFeedList.get(i).getFeedId());
            Log.e("gson解析parsingStr", "gson解析parsingStr getFeedName " + mFeedList.get(i).getFeedName());
        }
    }

在这里插入图片描述

简单实现手动解析JSON、Gson框架技术和FastJson框架技术 快速上手教你如何简单实现手动解析JSON、Gson框架技术和FastJson框架技术手动解析JSON、Gson框架技术和FastJson框架技术Json的简介JSON对象转换为Java对象JSON数组转换为Java集合插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 手动解析JSON、Gso 阅读详情

相关推荐

FastJson和Gson和Json数据解析分析和用法

首先分析下目前号称最快的FastJson,这个是所有人都验证过的,解析速度确实比较快,不过也需要根据数据量来看,数据量小的时候,Gson性能要稍微优于FastJson,但在数据量大解析的情况下,FastJson的速度就要明显快于Gson。具体原因,我没研究过,只是做过测试,确实是这样。性能测试代码如下:/** * 测试Bean类 */ public class TestBean { pr

iGoogle.ink 1047

Fastjson和Gson

Fastjson 1、什么是Fastjson Fastjson 是一个 Java 库,可以将 Java 对象转换为 JSON 格式,当然它也可以将 JSON 字符串转换为 Java 对象。 Fastjson 源码地址:https://github.com/alibaba/fastjson Fastjson 中文 Wiki:https://github.com/alibaba/fastjson/wiki/Quick-Start-CN 2、下载和使用 maven仓库:https://repo1.maven

m0_58680865的博客 682

Transformer凭什么取代RNN?深入拆解自注意力机制与梯度消失问题的终极对决

本文深入探讨了Transformer如何通过自注意力机制解决RNN的梯度消失问题,成为自然语言处理领域的新标准。通过对比RNN和Transformer的架构差异,揭示了自注意力机制在并行计算、长期依赖处理等方面的技术优势,并提供了实际任务中的性能对比数据。

f6g7h8i9j的博客 190

Fastjson与Gson的简单使用

Json解析工具

qq_45464560的博客 1237

Renesas:定时器输入捕获

一、PWM输入捕获 1、Smart Configurator配置 注意:在使用前,需要使能对应的定时器!否侧无法正常进行输入捕获! 2、脉冲宽度的获取 如何区分高低电平的脉冲宽度:最常用的方法就是在触发中断后,判断IO口的高低电平,来确认是上升沿触发的中断还是下降沿触发的中断。 若无法进入中断,可查看:Renesas:配置中断的常规流程 (1)中断方式(Smart Configurator生成的代码) #pragma interrupt r_Config_TAUB0_0_i...

不吃鱼的猫的博客 2484

UE4项目迁移指南:如何无缝导入外部.uasset文件并保持材质关联

本文详细解析了将外部.uasset文件无缝导入UE4项目的专业方法。针对手动复制文件时常见的材质关联丢失问题,提供了使用引用查看器进行诊断和修复的实用技巧,并推荐使用引擎内置的“迁移”功能确保资源依赖关系的完整性,帮助开发者高效整合项目资源。

t8u9v0的博客 1046

Gson和FastJson工具类

对于Java开发来说,数据的序列化和反序列化是一项基本操作,Gson和FastJson是两个常用的数据解析工具类,以下简单的说说两者的使用和区别Gson是Google开发的一款Java库,用于将Java对象转换为JSON字符串,或者将JSON字符串转换为Java对象,Gson可以自动解析和映射Java对象和JSON数据的关系。首先,在项目中导入依赖

weixin_49250451的博客 1142

Win11只读模式无法关闭的终极解决方案

通过以上方法,我们应该能够解决Windows 11中文件夹无法取消只读状态的问题。如果问题仍然存在,请确保你的账户具有足够的权限来修改文件夹属性,并考虑是否有其他安全软件或策略阻止了权限更改。在操作过程中,请务必小心谨慎,避免误操作导致数据丢失或系统损坏。希望本文能够帮助到大家!

mmoo_python的博客 1万+

Gson与FastJson比较

一. 简介和优劣 1.Google的Gson Gson是目前功能最全的Json解析神器,Gson当初是为因应Google公司内部需求而由Google自行研发而来,但自从在2008年五月公开发布第一版后已被许多公司或用户应用。Gson的应用主要为toJson与fromJson两个转换函数,无依赖,不需要例外额外的jar,能够直接跑在JDK上。 而在使用这种对象转换之前需先创建好对象的类型以...

吹雪的专栏 8359

手把手教你为RV1126开发板点亮3寸MIPI屏(ST7701S驱动,含设备树配置避坑点)

本文详细介绍了RV1126开发板适配3寸MIPI屏幕(ST7701S驱动)的全流程,涵盖硬件设计、信号完整性保障、屏幕时序参数计算及设备树配置等关键步骤。特别针对MIPI差分信号布线、电压匹配和设备树配置中的常见问题提供了实用解决方案,帮助开发者高效完成屏幕适配工作。

weixin_42524703的博客 339

nbiot和2g_浅谈NBIOT

一、什么是NBIOT?1、概念窄带物联网(Narrow Band Internet of Things, NB-IoT),NB-IoT构建于蜂窝网络,只消耗大约180KHz的带宽,使用License频段,可采取带内、保护带或独立载波等三种部署方式,与现有网络共存。可直接部署于GSM网络、UMTS网络或LTE网络,以降低部署成本、实现平滑升级。2、NBIOT的特点和目标(1)超强覆盖:相对GPRS来...

weixin_39534100的博客 1704

Android JSON:Gson,FastJson解析库的使用和对比分析

/ 获取一个泛型的数据类型//打印结果是zhangsan 12//lisi 13。

2401_89722372的博客 1878

最新版电子发票样式html+css--普通发票+增值发票

【代码】最新版电子发票样式html+css--普通发票+增值发票。

weixin_44110923的博客 3689

JSON解析工具比较,主要GSON和FastJSON

JSON解析工具比较,主要GSON和FastJSON一 、各个JSON技术的简介和优劣1.json-libjson-lib最开始的也是应用最广泛的json解析工具,json-lib 不好的地方确实是依赖于很多第三方包,包括commons-beanutils.jar,commons-collections-3.2.jar,commons-lang-2.6....

diaojin6880的博客 166

高通平台蓝牙学习-- 基于WCN6750 Bluetooth 5.2的讲解

摘要:蓝牙5.2解决方案WCN6750具备多项先进特性:完全兼容5.2标准及ANT+协议,支持2Mbps高速BLE和长距离传输;采用射频集成方案,与WLAN共享天线并支持5G并发;内置功率放大器,支持Class1/2传输;提供双音频流和Slimbus接口优化。其HCI UART接口支持3.2Mbps速率,通过BlueZ协议栈实现蓝牙5.2功能,包括2Mbps模式和长距离传输,符合核心规范要求。(149字)

专业开发者的博客,一个从事Android WiFi和蓝牙的工程师 3万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Gson和fastjson ​两种JSON的解析方式

1,首先创建一个对象 创建对象的属性,构造方法,set,get,tostring.equals.hashcode等方法 package com.java.annalysis; import java.util.Objects; public class Book { private String name ; private String info; public Book() { } public Book(String name, String info)

sudsahdua的博客 202

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

关于Gson解析和FastJson解析

JSON 是一种存储和交换数据的语法。 下面是一组JSON数据,我们来根据这组数据分析JSON是由什么组成? { "name":"潮田渚", "age":"15", "class":[ "3年E班", { "teacher":"杀老师", "info":"一个行动速度达到20马赫同时拥有超强再生能力和超乎常人的智慧的未知章鱼型生物" } ], "info":{

taojin_16138的博客 461

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

scala使用Gson和FastJson解析JSON

kafka传过来的数据好多都是JSON格式,需要对其解析,抽取出应用需要的数据。Gson和FastJson是两个不错的解析工具,以后可能经常会使用到,记录一下,防止以后遗忘。 Maven依赖: &lt;!-- https://mvnrepository.com/artifact/com.google.code.gson/gson --&gt; &lt;dependency&gt; ...

qq1084502122的专栏 3824

Fastjson和Gson解析库比较及选择

一、常用json解析库比较及选择 1.简介 fastjson和gson是目前比较常用的json解析库,并且现在我们项目代码中,也在使用这两个解析库。 fastjson 是由阿里开发的,号称是处理json效率最高的框架。而gson 是由google开发的,是功能比较全面的json解析工具。...

chengjiang6065的博客 425

fastJSON和GSON的解析

目前,大家用的比较多的JSON解析类是fastJSON和GSON,这两个类的共同特点是速度快,使用简单.

谢小枫的专栏 429

JSON解析(Gson和FastJson)

JSON解析一、JSON是什么?1.JSON的格式二、JSON在Java中解析方法1.Gson1.引入jar包方法2.FastJson 本文主要内容是如何在Java中用Gson和FastJson对JSON进行解析

weixin_50556778的博客 1974

Android常用Json解析框架GSON和FastJson的使用

GSON介绍:Gson是Google提供用于Java对象和JSON数据之间进行转换的JAVA类库,可以把JSON字符串与Java对象进行互转。前提是我们定义的JAVA实体类中字段名称要和服务器返回的json数据中字体完全一致。否则解析会出问题。GSON优势在于:快速高效,面向对象,只需要少量的代码就可以解析,实现起来方便简洁。jar和源码下载地址: http://code.google.com/p

true100的专栏 4376

FastJson和Gson解析json的小例子

首先得FastJson和Gson对应的jar包,网上有下载 要解析的json数据 info﹕{     "resultcode": "200",     "reason": "成功的返回",     "result": {         "area": "重庆市",         "sex": "男",         "birthday": "1994年06月03日"

arrol1786936883的博客 432
上一篇: Fastjson和Gson的故事
下一篇: Android 4.4版本 EventBus报错 java.lang.NoClassDefFoundError: android/os/PersistableBundle 终极方案
jhonjson
博客等级 码龄11年 220粉丝 195原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值