JSON lib

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) ;

请不要在 JDK 7+ 中使用这个 JSON 包了!

白昼怎懂夜的黑 提交于 2020-08-10 21:07:43
来源:大魔王mAysWINd www.cnblogs.com/mayswind/p/9222245.html Json-lib 介绍 Json-lib 是以前 Java 常用的一个 Json 库,最后的版本是 2.4,分别提供了 JDK 1.3 和 1.5 的支持,最后更新时间是 2010年12月14日。 虽然已经很多年不维护了,但在搜索引擎上搜索 " Java Json **"**等相关的关键词发现好像一直还有人在介绍和使用这个库。 项目官网是: http://json-lib.sourceforge.net/ 一句话结论 Json-lib 在通过字符串解析每一个 Json 对象时,会对当前解析位置到字符串末尾进行 substring 操作。 由于 JDK7 及以上的 substring 会完整拷贝截取后的内容,所以当遇到较大的 Json 数据并且含有较多对象时,会进行大量的字符数组复制操作,导致了大量的 CPU 和内存消耗,甚至严重的 Full GC 问题。 问题分析 某天发现线上生产服务器有不少 Full GC 问题,排查发现产生 Full GC 时某个老接口量会上涨,但这个接口除了解析 Json 外就是将解析后的数据存储到了缓存中。 遂怀疑跟接口请求参数大小有关,打日志发现确实有比一般请求大得多的 Json 数据,但也只有 1MB 左右。为了简化这个问题

Json字符串与Object对象相互转换的几种方式

南笙酒味 提交于 2020-05-01 16:08:12
Json-Lib、Org.Json、Jackson、Gson、FastJson五种方式转换json类型 只列举了最省事的方式。不涉及复制情况和速度。 测试用例,一个User类,属性name,age,location。重写toString()。 public class User { private String name; private Integer age; private String location; public User() { } public User(String name) { this.name = name; } public User(String name, Integer age) { this.name = name; this.age = age; } public User(String name, Integer age, String location) { this.name = name; this.age = age; this.location = location; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return

Json字符串与Object对象相互转换的几种方式

一世执手 提交于 2020-04-17 02:21:53
【推荐阅读】微服务还能火多久?>>> Json-Lib、Org.Json、Jackson、Gson、FastJson五种方式转换json类型 只列举了最省事的方式。不涉及复制情况和速度。 测试用例,一个User类,属性name,age,location。重写toString()。 public class User { private String name; private Integer age; private String location; public User() { } public User(String name) { this.name = name; } public User(String name, Integer age) { this.name = name; this.age = age; } public User(String name, Integer age, String location) { this.name = name; this.age = age; this.location = location; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer

Java递归算法构造JSON树形结构

Deadly 提交于 2020-04-09 09:49:30
1.前言 最近项目中有一个需求,数据库中的菜单表是一个常见的id-pid结构,需要把它构建成树形的JSON格式发送给第三方,写出来之后感觉也是很简单的,核心代码只有5行,重要的是思路要明确,这里把源码分享给大家。 工程里面使用了json-lib.jar这个包,作用是将List序列化成JSON。 2. 前言 package com.agileai.esb.smc.domain; import java.util.*; import net.sf.json.JSONArray; public class TreeBuilder { List<TreeBuilder.Node> nodes = new ArrayList<TreeBuilder.Node>(); public TreeBuilder(List<Node> nodes) { super(); this.nodes= nodes; } /** * 构建JSON树形结构 * @return */ public String buildJSONTree() { List<Node> nodeTree = buildTree(); JSONArray jsonArray = JSONArray.fromObject(nodeTree); return jsonArray.toString(); } /** * 构建树形结构 *

【Java Web_13】Ajax、Json

橙三吉。 提交于 2020-02-26 19:20:00
一、Ajax 1. $.ajax() * 语法:$.ajax({键值对}); //使用$.ajax()发送异步请求 $.ajax({ url:"ajaxServlet1111" , // 请求路径 type:"POST" , //请求方式 //data: "username=jack&age=23",//请求参数 data:{"username":"jack","age":23}, success:function (data) { alert(data); },//响应成功后的回调函数 error:function () { alert("出错啦...") },//表示如果请求响应出现错误,会执行的回调函数 dataType:"text"//设置接受到的响应数据的格式 }); 2. $.get():发送get请求 * 语法:$.get(url, [data], [callback], [type]) * 参数: * url:请求路径 * data:请求参数 * callback:回调函数 * type:响应结果的类型 3. $.post():发送post请求 * 语法:$.post(url, [data], [callback], [type]) * 参数: * url:请求路径 * data:请求参数 * callback:回调函数 * type:响应结果的类型 二、json

SpringBoot引入第三方jar包或本地jar包的处理方式

扶醉桌前 提交于 2019-12-20 14:51:00
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 在开发过程中有时会用到maven仓库里没有的jar包或者本地的jar包,这时没办法通过pom直接引入,那么该怎么解决呢 一般有两种方法 - 第一种是将本地jar包安装在本地maven库 - 第二种是将本地jar包放入项目目录中 这篇文章主要讲第二种方式,这又分两种情况,一种是打包jar包,第二种是打包war包 jar包 先看看jar包的结构 用压缩工具打开一个jar包 打包后jar包的路径在BOOT-INF\lib目录下 在项目目录中创建个文件夹用来存放jar包 pom文件中加入如下内容 <dependency> <groupId>com.ckfinder</groupId> <artifactId>json-lib</artifactId> <version>2.3</version> <scope>system</scope> <systemPath>${project.basedir}/src/main/resources/jar/json-lib-2.3-jdk15.jar</systemPath> </dependency> groupId,artifactId,version可随便写 这时候在项目中运行是没问题了,但是使用命令mvn clean package打包之后BOOT-INF

java中常见的JSON操作

三世轮回 提交于 2019-12-04 06:40:40
一、什么是Json Json是指JavaScript对象表示法(Java Script Object Notation) Json是轻量级的文本数据交换格式 Json独立于语言和平台:Json解析器和Json库支持许多不同的编程语言 Json具有自我描述性,更易理解 二、Java中操作Json的几种方式 FastJson 阿里巴巴开发的 JSON 库,性能十分优秀 <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.62</version> </dependency> Gson 谷歌开发的 JSON 库,功能十分全面 <!-- https://mvnrepository.com/artifact/com.google.code.gson/gson --> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.6</version> </dependency> net.sf.json 最常见

基于Kafka+SparkStreaming+HBase实时点击流案例

百般思念 提交于 2019-11-27 13:54:48
前言 最近在专注Spark开发,记录下自己的工作和学习路程,希望能跟大家互相交流成长 本文章更倾向于实战案例,涉及框架原理及基本应用还请读者自行阅读相关文章,相关在本文章最后参考资料中 关于Zookeeper/Kafka/HBase/Hadoop相关集群环境搭建作者会陆续更新 本文章发布后会及时更新文章中出现的错误及增加内容,欢迎大家订阅 QQ:86608625 微信:guofei1990123 背景 Kafka实时记录从数据采集工具Flume或业务系统实时接口收集数据,并作为消息缓冲组件为上游实时计算框架提供可靠数据支撑,Spark 1.3版本后支持两种整合Kafka机制(Receiver-based Approach 和 Direct Approach),具体细节请参考文章最后官方文档链接,数据存储使用HBase 实现思路 实现Kafka消息生产者模拟器 Spark-Streaming采用Direct Approach方式实时获取Kafka中数据 Spark-Streaming对数据进行业务计算后数据存储到HBase 本地虚拟机集群环境配置 由于笔者机器性能有限,hadoop/zookeeper/kafka集群都搭建在一起主机名分别为hadoop1,hadoop2,hadoop3; hbase为单节点 在hadoop1 缺点及不足 由于笔者技术有限,代码设计上有部分缺陷

Google Gson的使用方法及JSON 技术对比

青春壹個敷衍的年華 提交于 2019-11-27 06:10:49
一 、各个JSON技术的简介和优劣 1.json-lib json-lib最开始的也是应用最广泛的json解析工具,json-lib 不好的地方确实是依赖于很多第三方包, 包括commons-beanutils.jar,commons-collections-3.2.jar,commons-lang-2.6.jar,commons-logging-1.1.1.jar,ezmorph-1.0.6.jar,对于复杂类型的转换,json-lib对于json转换成bean还有缺陷,比如一个类里面会出现另一个类的list或者map集合,json-lib从json到bean的转换就会出现问题。json-lib在功能和性能上面都不能满足现在互联网化的需求。 2.开源的Jackson 相比json-lib框架,Jackson所依赖的jar包较少,简单易用并且性能也要相对高些。而且Jackson社区相对比较活跃,更新速度也比较快。Jackson对于复杂类型的json转换bean会出现问题,一些集合Map,List的转换出现问题。Jackson对于复杂类型的bean转换Json,转换的json格式不是标准的Json格式 3.Google的Gson Gson是目前功能最全的Json解析神器,Gson当初是为因应Google公司内部需求而由Google自行研发而来,