在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 条评论
登录 后参与评论

相关文章

来自专栏架构师之路

微服务架构之RPC-client序列化细节

第一章聊了【“为什么要进行服务化,服务化究竟解决什么问题”】 第二章聊了【“微服务的服务粒度选型”】 上一篇聊了【“为什么说要搞定微服务架构,先搞定RPC框架?...

3565
来自专栏Scott_Mr 个人专栏

初识 Runtime

31710
来自专栏PHP技术

php代码优化技巧

PHP优化的目的是花最少的代价换来最快的运行速度与最容易维护的代码。本文给大家提供全面的优化技巧。   1、echo比print快。   2、使用echo的多重...

2785
来自专栏SDNLAB

SDN开发笔记(六):yang模型理解

前言 继之前分享的几篇文章之后,这篇文章分享自己对于YANG模型的理解。 关于其他如何搭建环境以及编写app等等请阅读下前几篇文章。 一、Yang的来源 早在2...

3527
来自专栏云瓣

Node.js 异步异闻录

提到 Node.js, 我们脑海就会浮现异步、非阻塞、单线程等关键词,进一步我们还会想到 buffer、模块机制、事件循环、进程、V8、libuv 等知识点。本...

3288
来自专栏逸鹏说道

Python3 与 C# 扩展之~装饰器专栏

终于期末考试结束了,聪明的小明同学现在当然是美滋滋的过暑假了,左手一只瓜,右手一本书~正在给老乡小张同学拓展他研究多日的知识点

834
来自专栏专注数据中心高性能网络技术研发

HERD--GCC宏

减少跳转语句失效时CPU等待取指令时间,提高CPU效率 使用__builtin_expect(EXP,N) 意思是EXP==N的概率很大 一般封装为LIKELY...

2725
来自专栏王亚昌的专栏

程序的存储空间布局

栈 由编译器自动分配释放管理。局部变量及每次函数调用时返回地址、以及调用者的环境信息(例如某些机器寄存器)都存放在栈中。新被调用的函数在栈上为其自动和临时变量分...

1092
来自专栏用户2442861的专栏

DIV+CSS中标签dl dt dd常用的用法

转自:http://smallpig301.blog.163.com/blog/static/9986093201010262499229/

601
来自专栏数据处理

tensorflow动态加载文件

1914

扫码关注云+社区