博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
开发android客户端需要了解的知识--JSON数据解析
阅读量:7048 次
发布时间:2019-06-28

本文共 1897 字,大约阅读时间需要 6 分钟。

什么是JSON:

JSON即JavaScript Object Natation, 它是一种轻量级的数据交换格式, 与XML一样, 是广泛被采用的客户端和服务端交互的解决方案.

JSON对象: JSON中对象(Object)以"{"开始, 以"}"结束. 对象中的每一个item都是一个key-value对, 表现为"key:value"的形式, key-value对之间使用逗号分隔. 如:{"name":"coolxing", "age"=24, "male":true, "address":{"street":"huiLongGuan", "city":"beijing", "country":"china"}}. JSON对象的key只能是string类型的, 而value可以是string, number, false, true, null, Object对象甚至是array数组, 也就是说可以存在嵌套的情况.

JSON数组: JSON数组(array)以"["开始, 以"]"结束, 数组中的每一个元素可以是string, number, false, true, null, Object对象甚至是array数组, 数组间的元素使用逗号分隔. 如["coolxing", 24, {"street":"huiLongGuan", "city":"beijing", "country":"china"}].

 

JSON数据的解析:解析JSON数据, 首先需要明确待解析的是JSON Object还是JSON array, 然后需要确定采用哪种解析技术. android平台上一般有2种解析技术可供选择: android内置的org.json包和google的开源gson库. 以下将分别采用这两种技术解析JSON对象和JSON数组.

1.  采用android内置的org.json包解析JSON对象. 假设待解析的JSON数据为json = "{\"name\":\"coolxing\", \"age\"=24, \"male\":true, \"address\":{\"street\":\"huiLongGuan\", \"city\":\"beijing\", \"country\":\"china\"}}", 其中\用于转义表达式中的双引号. 首先定义2个JavaBean:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

de >public class Address {de>

de >    de>de >private String street;de>

de >    de>de >private String city;de>

de >    de>de >private String country;de>

de >    de>de >public Address() {de>

de >        de>de >superde>de >();de>

de >    de>de >}de>

de >    de>de >public Address(String street, String city, String country) {de>

de >        de>de >superde>de >();de>

de >        de>de >thisde>de >.street = street;de>

de >        de>de >thisde>de >.city = city;de>

de >        de>de >thisde>de >.country = country;de>

de >    de>de >}de>

de >    de>de >public String getStreet() {de>

de >        de>de >returnde> de >street;de>

de >    de>de >}de>

de >    de>de >public void setStreet(String street) {de>

de >        de>de >thisde>de >.street = street;de>

.relpost{clear:both}

Tag:

发表于2014-05-24 13:41:00 | | 分享 0

引用地址:

转载于:https://www.cnblogs.com/freenovo/p/4469779.html

你可能感兴趣的文章
[控件] CircleView
查看>>
jbpm入门样例
查看>>
在ubuntu下关闭笔记本触摸板
查看>>
PowerPoint在线浏览的几个方案
查看>>
CentOS6.5系统挂载NTFS分区的移动硬盘
查看>>
很具体GC学习笔记
查看>>
【三石jQuery视频教程】03.创建垂直时间表(Timeline)
查看>>
HTML5系列:HTML5本地存储
查看>>
android完全退出应用程序
查看>>
Linux中cp和scp命令的使用方法
查看>>
Big Data Security Part One: Introducing PacketPig
查看>>
git入门-分支
查看>>
【转】win7与ubuntu双系统,删除ubuntu后,启动错误error:no such partition grub rescue的修复--不错...
查看>>
PHP-深入理解Opcode缓存
查看>>
语言代码
查看>>
android面试题 不仅仅是面试是一个很好的学习
查看>>
Linux 性能监测:工具
查看>>
Linux pipe功能
查看>>
为什么写科技博客是情侣如此重要?
查看>>
ORACLE触发特定的解释
查看>>