在Java中如何解析JSON格式数据?

最近学了怎么解析JSON数据,今天记录一下。

先来一段介绍。

JSON是一种轻量级的数据交换格式,用途非常广泛。

JSON长什么样子

这就是json的样子

JSON由一个个键值对对组成,左边是键(key),中间是冒号(:),右边是值(value)。

Key为字符串类型,value可以是字符串,数字,数组,对象。

例如上例中 “名字”的value是字符串 “年龄”的value是数字 “爱好”的value是数组 “喜欢的游戏”的value是对象

可以看出,只需简单的几行字,就可以描述小明同学。更重要的事,机器也能轻易读懂这样的结构。

那么在Java中该如何解析JSON数据呢

JSON在JavaScript中解析非常方便,这是因为JSON就是来源于JavaScript,JSON语法是JavaScript对象表示法的子集。而在Java中,如果要解析,则需要使用第三方架包。有很多免费的架包供我们使用,今天小黄人主要介绍两种:org.json.jar, gson-2.2.4.jar

这两个架包直接百度包名就可以搜到。

org.json下载地址 http://www.docjar.com/jar_detail/json-org.jar.html gson下载地址 https://github.com/google/gson

org.json.jar

把JSON字符串直接转成JSONObject对象,利用该对象的getxxx方法就可以读出JSON中的数据。

还有很多方法,在实际使用过程中慢慢积累。

gson-2.2.4.jar

gson是谷歌的一个开源项目,gson的优势在于可以把json直接转成实体类,或者把实体类直接转成json,因为实体类是Java中必不可少的一部分,有利于结构化数据,所以这是一个非常实用的功能。

gson还有很多实用的功能,需要在以后的开发中逐渐学习。

上述例子中用到的json数据

上述例子中用到的实体类YoudaoResult.java

原文发布于微信公众号 - 小黄人打代码(MinionsCoding)

原文发表时间:2016-09-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏从零开始学 Web 前端

嵌入式面试题(一)

4. 空指针(null pointer)指向了内存的什么地方(空指针的内部实现)?

962
来自专栏大闲人柴毛毛

柴毛毛大话设计模式——开发常用的设计模式梳理

写在最前 本文是笔者的一点经验总结,主要介绍几种在Web开发中使用频率较高的设计模式。 本文篇幅较长,建议各位同学挑选感兴趣的设计模式阅读。 在阅读的同时,也...

4717
来自专栏ImportSource

设计模式-抽象类,只是想为你做更多

如果说面向对象中的接口是把所有的事情扔给你的话,那么抽象类显然是想要为你做一些事情,如果实在有一部分做不了再扔给你。 相信对于大部分业务开发的场景下都不太会需要...

3337
来自专栏Vamei实验室

Python标准库02 时间与日期 (time, datetime包)

Python具有良好的时间和日期管理功能。实际上,计算机只会维护一个挂钟时间(wall clock time),这个时间是从某个固定时间起点到现在的时间间隔。时...

2296
来自专栏Golang语言社区

十条有用的 Golang语言 技术

十条有用的 Go 技术 这里是我过去几年中编写的大量 Go 代码的经验总结而来的自己的最佳实践。我相信它们具有弹性的。这里的弹性是指: 某个应用需要适配一个灵...

3636
来自专栏数据小魔方

多条件排序

今天跟大家分享多条件排序的技巧! 之前分享过关于excel中的排序菜单及所有的排序函数,但是这些菜单和函数的排序功能仅限于单列排序,无法完成多列的多条件排序功...

2706
来自专栏Golang语言社区

十条有用的 Golang语言 技术

十条有用的 Go 技术 这里是我过去几年中编写的大量 Go 代码的经验总结而来的自己的最佳实践。我相信它们具有弹性的。这里的弹性是指: 某个应用需要适配一个灵...

4129
来自专栏人工智能

机器学习如何从 Python 2 迁移到 Python 3

关键时刻,第一时间送达! ? 本文经授权转自人工智能头条。 Python 已经成为机器学习及其他科学领域中的主流语言。它不但与多种深度学习框架兼容,而且还包含优...

2856
来自专栏阿杜的世界

如何设计接口的测试用例边界值测试组合条件测试

今天在帮同事review代码的时候,发现他的代码遗漏了一些场景的处理,就顺便跟他多聊了些为对这个话题的看法。

832
来自专栏编程心路

Java 动态代理,看这篇就够了

这篇文章需要用到 Java 的反射知识,如果对反射还不清楚的小伙伴,可以先移步到这里 《Java进阶-反射》。

1484

扫码关注云+社区