gson

Jackson替换fastjson

我们两清 提交于 2021-01-14 06:31:09
为什么要替换fastjson 工程里大量使用了fastjson作为序列化和反序列化框架,甚至ORM在处理部分字段也依赖fastjson进行序列化和反序列化。那么作为大量使用的基础框架,为什么还要进行替换呢? 原因有以下几点: fastjson太过于侧重性能,对于部分高级特性支持不够,而且部分自定义特性完全偏离了json和js规范导致和其他框架不兼容; fastjson文档缺失较多,部分Feature甚至没有文档,而且代码缺少注释较为晦涩; fastjson的CVE bug监测较弱,很多CVE数据库网站上有关fastjson的CVE寥寥无几,例如近期的AutoType导致的高危漏洞,虽然和Jackson的PolymorphicDeserialization是同样的bug,但是CVE网站上几乎没有fastjson的bug报告。 框架选型 参考 mvnrepository json libraries ,根据流行度排序后前十名框架: jackson2(com.fasterxml.jackson) gson org.json jackson1(com.codehuas.jackson) fastjson cheshire json-simple jackson1是已经过时的框架,因此可以忽略,cheshire和json-simple排名尚且不如fastjson,也忽略,剩余jackson2

json 的使用 Java对象转json

和自甴很熟 提交于 2021-01-13 07:17:00
1、 jsonlib:个人感觉最麻烦的一个需要导入的包也多,代码也相对多一些。 2、Gson:google的 3、FastJson:阿里巴巴的,个人觉得这个比较好,而且据说这个也是性能最好一个。 下面就贴出三种写法的代码,读者可以任选其一去使用。关于demo里面所使用的jar包,可以自行去下载,也可以加我QQ我给你:1140459171 Jsonlib:package json; import java .util .ArrayList ; import java .util .List ; import net .sf .json .JSONArray ; import user .User ; public class Jsonlib { public static void main(String[] args) { User user1 = new User() ; user1 .setUsername( "111") ; user1 .setPassword( "111") ; User user2 = new User() ; user2 .setUsername( "222") ; user2 .setPassword( "222") ; List<User> lists = new ArrayList<User>() ; lists .add(user1) ;

【Android】OkHttpUtils

China☆狼群 提交于 2021-01-10 13:26:27
前言 OkHttpUtils - 封装了okhttp的网络框架,目前Get,Post的请求已经完成,支持大文件上传下载,上传进度回调,下载进度回调,表单上传(多文件和多参数一起上传),链式调用,整合Gson,自动解析返回对象,支持Https和自签名证书,支持cookie自动管理,后期将要实现的功能,统一的上传管理和下载管理。 用法 Android studio 使用前,对于Android Studio的用户,可以选择添加: compile 'com.zhy:okhttputils:2.0.0' Eclipse可以去下载jar包,拷贝在libs文件夹中使用 注意 使用的okhttp的版本是最新的3.0版本,和以前的2.x的版本可能会存在冲突,整合了Gson,提供了自定Callback,可以按照泛型,自行解析返回结果: compile 'com.android.support:support-annotations:23.1.1' compile 'com.squareup.okhttp3:okhttp:3.0.0-RC1' compile 'com.google.code.gson:gson:2.5' 目前支持 一般的get请求 一般的post请求 基于Http Post的文件上传(类似表单) 多文件和多参数同时上传 大文件下载和下载进度回调 大文件上传和上传进度回调

SpringBoot整合Kafka

懵懂的女人 提交于 2021-01-09 18:01:57
Kafka设置 启动zk bin/zookeeper-server-start.sh -daemon config/zookeeper.properties 启动kafka bin/kafka-server-start.sh config/server.properties 依赖 compile 'org.springframework.kafka:spring-kafka' application.properties #============== kafka =================== # 指定kafka 代理地址,可以多个 # suppress inspection "UnusedProperty" spring.kafka.bootstrap -servers=YourServerHostName/IP:9092 # =============== provider ======================= spring.kafka.producer.retries =0 # 每次批量发送消息的数量 spring.kafka.producer.batch -size=16384 spring.kafka.producer.buffer -memory=33554432 # 指定消息key和消息体的编解码方式 spring.kafka.producer

工具类-七牛云存储

柔情痞子 提交于 2021-01-07 19:27:04
import com.google.gson.Gson; import com.qiniu.common.QiniuException; import com.qiniu.common.Zone; import com.qiniu.http.Response; import com.qiniu.storage.BucketManager; import com.qiniu.storage.Configuration; import com.qiniu.storage.UploadManager; import com.qiniu.storage.model.DefaultPutRet; import com.qiniu.util.Auth; /** * 七牛云工具类 */ public class QiNiuUtils { //需要更换自己的AK public static String accessKey = "ljfNlwZ9rqZHNhSurBH9TvudzXERfQQbGo8dDEMt"; //需要更换自己的SK public static String secretKey = "M2OHTx4nY6XkSrCxGbc1OBwuiCneJV0SGbGR5qu7"; public static String bucket = "osc-lihonglin"; public

Android(Kotlin版本)MVC框架的实例以及代码

拥有回忆 提交于 2021-01-07 14:44:07
Android(Kotlin版本)MVC框架的实例以及代码   本文地址: https://blog.csdn.net/qq_40785165/article/details/112135944 ,转载需附上此地址   代码也许是枯燥的,但是创造永远能让人心血澎湃,这大概就是热情吧!   大家好,我是小黑,一个还没秃头的程序员~~~   近日较忙,但是也不能忘记了写文章的初心,就是为了记录自己一段时间内的学习以及改变,今日内容为Android开发中MVC的框架设计,由于最近在学习kotlin,所以本文章将使用kotlin作为开发语言,先来看看效果图   Demo中的功能很简单,就是个模拟登录的过程,以及登录成功后调用数据接口开发列表,由于想把MVC架构与数据请求一起写了,又想节约篇幅,所以登录模块的代码就不贴出来了,这里只展示列表的设计代码,想要其他代码的同学可以到 Demo的github地址 手动下载,话不多说,下面开始正文。   MVC框架由一下三个部分组成:Model|(模型层)、View(视图层)、Controller(控制层) 1.Model:负责请求接口,进行数据处理,将结果通过回调告知Controller层并进行视图更新。 2.View:视图设计,在这里一般指layout中的xml视图代码 3.Controller:控制层,通常指Activity/Fragment

How to parse data of WordPress REST API using Retrofit and GSON?

99封情书 提交于 2021-01-07 03:45:39
问题 i have this type of JSON data and i have a problem on parsing list of data! THIS IS MY JSON DATA [ { "id": 17502, "link": "https://www.angrybirds.com/blog/get-ready-angry-birds-movie-2-premiere-new-game-events/", "title": { "rendered": "Get ready for The Angry Birds Movie 2 premiere with new in-game events!" }, "excerpt": { "rendered": "<p>The Angry Birds Movie 2 comes to US theaters tomorrow, but who wants to wait that long?! Good news: you can get into the movie mood right now with a new

Deserializing complex nested java objects from JSON [closed]

爱⌒轻易说出口 提交于 2021-01-05 11:53:07
问题 Closed . This question needs to be more focused. It is not currently accepting answers. Want to improve this question? Update the question so it focuses on one problem only by editing this post. Closed 3 years ago . Improve this question So I have a java class Workspace that has field of type List of Product which contains field of type List of Module which contains field of type List with Objects. So I have like 3 levels nested objects with lists. What is the most painless way to deal with

Deserializing complex nested java objects from JSON [closed]

落爺英雄遲暮 提交于 2021-01-05 11:52:36
问题 Closed . This question needs to be more focused. It is not currently accepting answers. Want to improve this question? Update the question so it focuses on one problem only by editing this post. Closed 3 years ago . Improve this question So I have a java class Workspace that has field of type List of Product which contains field of type List of Module which contains field of type List with Objects. So I have like 3 levels nested objects with lists. What is the most painless way to deal with

Gson append new object array to existing JSON file

做~自己de王妃 提交于 2021-01-04 09:20:25
问题 i need some help appending new arrays into a existing file. I have a JSON file like this: [ { "name": "any", "address": { "street": "xxxx", "number": 1 }, "email": "teste@gmail.com" } ] I want to insert new array, so my file will be like this: [ { "name": "any", "address": { "street": "xxxx", "number": 1 }, "email": "test@gmail.com" }, { "name": "any2", "address": { "street": "yyyyy", "number": 2 }, "email": "test2@gmail.com" } ] Here's my code: Gson gson = new GsonBuilder().setPrettyPrinting