Java中json使用方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java中json使用方法

摘要:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python 等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成(网络传输速率)。一、准备工作

json是个非常重要的数据结构,在web开发中应用十分广泛。我觉得每个人都应该好好的去研究一下json的底层实现,分析一下json的相关内容,希望大家能有所收获。首先给大家说一下使用json前的准备工作,需要准备下面的六个jar 包:

需要说明几点:

(1)json-lib最新版本可以从这个地方下载:/projects/json-lib/files/json-lib/

(2)ezmorph是一个简单的java类库,用于将一种bean转换成另外一种bean。其动态bean的实现依赖于commons-beanutils包。ezmorph可以在这个地方下载源码:/projects/ezmorph/files/ezmorph/ (3)commons-beanutils是操作Java Bean的类库,依赖于commons-collections。可以从这里下载:/proper/commons-beanutils/download_beanutils.cgi

(4)commons-collections类库是各种集合类和集合工具类的封装。可以从这里下载:

/proper/commons-collections/download_collections.cgi

二、语法相关

JSON 语法规则

JSON 语法是JavaScript 对象表示法语法的子集。

数据在名称/值对中

数据由逗号分隔

花括号保存对象

方括号保存数组

∙JSON 值

JSON 值可以是:

数字(整数或浮点数)

字符串(在双引号中)

逻辑值(true 或false)

数组(在方括号中)

对象(在花括号中)

null

∙JSON有两种表示结构

对象和数组。

对象结构以”{”大括号开始,以”}”大括号结束。中间部分由0或多个以”,”分隔的”key(关键字)/value(值)”对构成,关键字和值之间以”:”分隔,语法结构如代码。

其中关键字是字符串,而值可以是字符串,数值,true,false,null,对象或数组

数组结构以”[”开始,”]”结束。中间由0或多个以”,”分隔的值列表组成,语法结构如代码。

如:

三、Java中使用Json基本使用方法整个工程目录如下:

Employer.java如下

JsonTest.java全部代码如下:

下面分别对各个部分来进行说明1. Bean转换成json代码

运行结果如下:

2. 数组转换成json代码

运行结果如下:

3. List集合转换成json方法

运行结果如下:

4. Map集合转换成json方法

运行结果如下:

四、JSONObject的过滤设置

通常对一个json串和java对象进行互转时,经常会有选择性的过滤掉一些属性值。例如下面的类:

如果我想过滤age属性怎么办?方法一:实现JSONString接口

方法二:设置jsonconfig实例,对包含和需要排除的属性进行添加或删除。

方法三:使用propertyFilter实例过滤属性

五、JavaScript中使用JSON

JSON 最常见的用法之一,是从web 服务器上读取JSON 数据(作为文件或作为HttpRequest),将JSON 数据转换为JavaScript 对象,然后在网页中使用该数据。

之前我一直有个困惑,分不清普通字符串

1、json字符串和json对象的区别。

字符串:这个很好解释,指使用“”双引号或’’单引号包括的字符。例如:var comStr = 'this is string';

json字符串:指的是符合json格式要求的js字符串。例如:var jsonStr = "{StudentID:'100',Name:'tmac',Hometown:'usa'}"; json对象:指符合json格式要求的js对象。例如:var jsonObj = { StudentID: "100", Name: "tmac", Hometown: "usa" };

2、JSON 实例- 来自字符串的对象

创建包含JSON 语法的JavaScript 字符串:

由于JSON 语法是JavaScript 语法的子集,JavaScript 函数eval() 可用于将JSON 文本转换为JavaScript 对象。eval() 函数使用的是JavaScript 编译器,可解析JSON 文本,然后生成JavaScript 对象。必须把文本包围在括号中,这样才能避免语法错误:

如下格式:

输出结果:

不过eval解析json有安全隐患!现在大多数浏览器(IE8及以上,Chrome和Firefox差不多全部)自带原生JSON对象,提供JSON.parse()方法解析JSON,提供JSON.stringify()方法生成JSON,请使用这两个方法!

如果担心parse()对对象抛异常,可以加一个封装函数:

1、从JSON中读数据

相关文档
最新文档