JSON库的使用研究(一)

 

 

最近用到JSON,收集了一些资料,整理如下:

选择一个合适的JSON库要从多个方面进行考虑:

  1. 字符串解析成JSON性能
  2. 字符串解析成Java Object性能
  3. Java Object转JSON性能
  4. 集合构造JSON性能
  5. 易用性

以下是整理的各个库的资料:

Gson

项目地址:https://github.com/google/gson

Gson是目前功能最全的Json解析神器,Gson当初是为因应Google公司内部需求而由Google自行研发而来,但自从在2008年五月公开发布第一版后已被许多公司或用户应用。 Gson的应用主要为toJson与fromJson两个转换函数,无依赖,不需要例外额外的jar,能够直接跑在JDK上。 在使用这种对象转换之前,需先创建好对象的类型以及其成员才能成功的将JSON字符串成功转换成相对应的对象。 类里面只要有get和set方法,Gson完全可以实现复杂类型的json到bean或bean到json的转换,是JSON解析的神器。

FastJson

项目地址:https://github.com/alibaba/fastjson

Fastjson是一个Java语言编写的高性能的JSON处理器,由阿里巴巴公司开发。无依赖,不需要例外额外的jar,能够直接跑在JDK上。 FastJson在复杂类型的Bean转换Json上会出现一些问题,可能会出现引用的类型,导致Json转换出错,需要制定引用。 FastJson采用独创的算法,将parse的速度提升到极致,超过所有json库。

Jackson

项目地址:https://github.com/FasterXML/jackson

Jackson是当前用的比较广泛的,用来序列化和反序列化json的Java开源框架。Jackson社区相对比较活跃,更新速度也比较快, 从Github中的统计来看,Jackson是最流行的json解析器之一,Spring MVC的默认json解析器便是Jackson。

Jackson优点很多:

  1. Jackson 所依赖的jar包较少,简单易用。
  2. 与其他 Java 的 json 的框架 Gson 等相比,Jackson 解析大的 json 文件速度比较快。
  3. Jackson 运行时占用内存比较低,性能比较好
  4. Jackson 有灵活的 API,可以很容易进行扩展和定制。

目前最新版本是2.9.4,Jackson 的核心模块由三部分组成:

  1. jackson-core 核心包,提供基于”流模式”解析的相关 API,它包括 JsonPaser 和 JsonGenerator。Jackson 内部实现正是通过高性能的流模式 API 的 JsonGenerator 和 JsonParser 来生成和解析 json。
  2. jackson-annotations 注解包,提供标准注解功能;
  3. jackson-databind 数据绑定包,提供基于”对象绑定” 解析的相关 API( ObjectMapper )和”树模型” 解析的相关 API(JsonNode);基于”对象绑定” 解析的 API 和”树模型”解析的 API 依赖基于”流模式”解析的 API。

Json-lib

项目地址:http://json-lib.sourceforge.net/index.html

json-lib最开始的也是应用最广泛的json解析工具,json-lib 不好的地方确实是依赖于很多第三方包,对于复杂类型的转换,json-lib对于json转换成bean还有缺陷, 比如一个类里面会出现另一个类的list或者map集合,json-lib从json到bean的转换就会出现问题。json-lib在功能和性能上面都不能满足现在互联网化的需求。

 

maven依赖

  1 <!-- Json libs-->
  2 <dependency>
  3  <groupId>net.sf.json-lib</groupId>
  4  <artifactId>json-lib</artifactId>
  5  <version>2.4</version>
  6  <classifier>jdk15</classifier>
  7 </dependency>
  8 <dependency>
  9  <groupId>com.google.code.gson</groupId>
 10  <artifactId>gson</artifactId>
 11  <version>2.8.2</version>
 12 </dependency>
 13 <dependency>
 14  <groupId>com.alibaba</groupId>
 15  <artifactId>fastjson</artifactId>
 16  <version>1.2.46</version>
 17 </dependency>
 18 <dependency>
 19  <groupId>com.fasterxml.jackson.core</groupId>
 20  <artifactId>jackson-databind</artifactId>
 21  <version>2.9.4</version>
 22 </dependency>
 23 <dependency>
 24  <groupId>com.fasterxml.jackson.core</groupId>
 25  <artifactId>jackson-annotations</artifactId>
 26  <version>2.9.4</version>
 27 </dependency>

转载于:https://www.cnblogs.com/tyol/p/10536836.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 搜狗新闻语料json是搜狗公司提供的一个包含丰富新闻内容的数据集,以json格式存储。该数据集包含了大量的新闻文本信息,可以用于新闻相关的研究和应用开发。使用json格式存储的好处是可以方便地对数据进行读取和解析。 这个数据集可以用于多种研究领域,比如自然语言处理、文本挖掘和机器学习等。对于自然语言处理的任务,可以利用这个数据集进行新闻文本的分类、情感分析、关键词提取等。同时,通过对这个数据集进行深度学习模型的训练,还可以实现文本生成、机器翻译等更复杂的任务。 对于应用开发来说,搜狗新闻语料json可以用于构建新闻推荐系统,根据用户的兴趣和偏好,推荐他们感兴趣的新闻内容。同时,也可以利用这个数据集进行热点事件的监测和分析,通过对大量新闻文本的处理,挖掘出当前社会上的热门话题和关键事件。 总之,搜狗新闻语料json是一个宝贵的资源,可以为新闻相关研究和应用开发提供丰富的数据支持。通过合理的利用这个数据集,可以开展多种研究和应用项目,为推动相关领域的发展做出贡献。 ### 回答2: 搜狗新闻语料json是指搜狗公司提供的新闻语料数据集,以json格式进行存储和交互。该数据集包含大量新闻文本,以及与每篇新闻相关的元数据信息。 通过使用搜狗新闻语料json,用户可以获取到丰富的新闻信息。每篇新闻文本都包含了标题、内容、时间、来源等元数据信息,方便用户对新闻进行分类、分析和挖掘。例如,可以利用该数据集进行新闻文本分类任务,根据文本内容和元数据信息对新闻进行分类,如体育新闻、娱乐新闻、财经新闻等,从而更好地理解和获取特定领域的新闻。 此外,搜狗新闻语料json也可以用于新闻文本的情感分析。用户可以从文本内容中提取情感词汇,并结合元数据信息进行情感分析,了解新闻背后的情感倾向、态度和观点。这对于企业和机构来说尤为重要,可以根据新闻情感分析结果来调整营销战略、舆情管理和产品服务。 总之,搜狗新闻语料json是一个丰富的新闻数据集,可以用于各种文本分析任务,如文本分类、情感分析等。通过利用该数据集,用户可以更好地了解和分析新闻文本,从而为企业和个人的决策提供更全面和准确的信息支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值