Java和JavaScript中使用Json方法大全.docx

上传人:b****8 文档编号:11388406 上传时间:2023-02-28 格式:DOCX 页数:25 大小:21.70KB
下载 相关 举报
Java和JavaScript中使用Json方法大全.docx_第1页
第1页 / 共25页
Java和JavaScript中使用Json方法大全.docx_第2页
第2页 / 共25页
Java和JavaScript中使用Json方法大全.docx_第3页
第3页 / 共25页
Java和JavaScript中使用Json方法大全.docx_第4页
第4页 / 共25页
Java和JavaScript中使用Json方法大全.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

Java和JavaScript中使用Json方法大全.docx

《Java和JavaScript中使用Json方法大全.docx》由会员分享,可在线阅读,更多相关《Java和JavaScript中使用Json方法大全.docx(25页珍藏版)》请在冰豆网上搜索。

Java和JavaScript中使用Json方法大全.docx

Java和JavaScript中使用Json方法大全

Java和JavaScript中使用Json方法大全

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。

它基于ECMAScript的一个子集。

JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。

这些特性使JSON成为理想的数据交换语言。

易于人阅读和编写,同时也易于机器解析和生成(网络传输速率)。

一、准备工作

json是个非常重要的数据结构,在web开发中应用十分广泛。

我觉得每个人都应该好好的去研究一下json的底层实现,分析一下json的相关内容,希望大家能有所收获。

首先给大家说一下使用json前的准备工作,需要准备下面的六个jar包:

这里我统一下好打包了,可以在这里来下

需要说明几点:

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

(2)ezmorph是一个简单的java类库,用于将一种bean转换成另外一种bean。

其动态bean的实现依赖于commons-beanutils包。

ezmorph可以在这个地方下载源码:

(3)commons-beanutils是操作JavaBean的类库,依赖于commons-collections。

可以从这里下载:

http:

//commons.apache.org/proper/commons-beanutils/download_beanutils.cgi

(4)commons-collections类库是各种集合类和集合工具类的封装。

可以从这里下载:

http:

//commons.apache.org/proper/commons-collections/download_collections.cgi

二、语法相关

JSON语法规则

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

数据在名称/值对中

数据由逗号分隔

花括号保存对象

方括号保存数组

JSON值

JSON值可以是:

数字(整数或浮点数)

字符串(在双引号中)

逻辑值(true或false)

数组(在方括号中)

对象(在花括号中)

null

JSON有两种表示结构

对象和数组。

对象结构以”{”大括号开始,以”}”大括号结束。

中间部分由0或多个以”,”分隔的”key(关键字)/value(值)”对构成,关键字和值之间以”:

”分隔,语法结构如代码。

[javascript]viewplaincopy

{

key1:

value1,

key2:

value2,

...

}

[html]viewplaincopy

{"department":

"产品研发","name":

"小王","age":

23}

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

数组结构以”[”开始,”]”结束。

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

[html]viewplaincopy

[

{

key1:

value1,

key2:

value2

},

{

key3:

value3,

key4:

value4

}

]

如:

[html]viewplaincopy

[{"department":

"产品研发","name":

"小王","age":

23},{"department":

"产品研发","name":

"小王","age":

23}]

三、Java中使用Json基本使用方法

工程免费下载

Jar包我也上传了,在这里

整个工程目录如下:

Employer.java如下

[java]viewplaincopy

packagecom.mucfc.json;

importnet.sf.json.JSONString;

publicclassEmployer{

privateStringname;

privateIntegerage;

privateStringdepartment;

publicStringgetName(){

returnname;

}

publicvoidsetName(Stringname){

this.name=name;

}

publicIntegergetAge(){

returnage;

}

publicvoidsetAge(Integerage){

this.age=age;

}

publicStringgetDepartment(){

returndepartment;

}

publicvoidsetDepartment(Stringdepartment){

this.department=department;

}

@Override

publicStringtoString(){

return"Employer[name="+name+",age="+age+",department="

+department+"]";

}

/*@Override要调用这个方法请implementsJSONString

publicStringtoJSONString(){

return"{\"name\":

\""+name+"\",\"department\":

\""+department+"\"}";

}*/

}

JsonTest.java全部代码如下:

[java]viewplaincopy

packagecom.mucfc.json;

importjava.util.ArrayList;

importjava.util.HashMap;

importjava.util.List;

importjava.util.Map;

importnet.sf.json.JSONArray;

importnet.sf.json.JSONObject;

importnet.sf.json.JsonConfig;

importnet.sf.json.util.PropertyFilter;

/**

*Json使用方法总结

*@authorlinbingwen(博客:

*@since2015.7.3

*/

publicclassJsonTest{

publicstaticvoidmain(Stringargs[]){

beanToJson();

beanToJson1();

beanToJson2();

arrayToJson();

listToJson();

mapToJson();

}

/**

*bean对象转json

*@returnvoid

*/

publicstaticvoidbeanToJson(){

Employeremployer=newEmployer();

employer.setName("小王");

employer.setAge(23);

employer.setDepartment("产品研发");

JSONObjectjson=JSONObject.fromObject(employer);

System.out.println("-----------------------------------------beanToJson()开始------------------------------------------------");

System.out.println(json.toString());

System.out.println("-----------------------------------------beanToJson()结束------------------------------------------------");

}

/**

*bean对象转json,带过滤器

*@returnvoid

*/

publicstaticvoidbeanToJson1(){

Employeremployer=newEmployer();

employer.setName("小王");

employer.setAge(23);

employer.setDepartment("产品研发");

JsonConfigjsonConfig=newJsonConfig();

jsonConfig.setExcludes(newString[]

{"age"});

JSONObjectjson=JSONObject.fromObject(employer,jsonConfig);

System.out.println("-----------------------------------------beanToJson1()带过滤器开始------------------------------------------------");

System.out.println(json.toString());

System.out.println("-----------------------------------------beanToJson1()带过滤器结束------------------------------------------------");

}

/**

*bean对象转json,带过滤器

*@returnvoid

*/

publicstaticvoidbeanToJson2(){

Employeremployer=newEmployer();

employer.setName("小王");

employer.setAge(23);

employer.setDepartment("产品研发");

JsonConfigjsonConfig=newJsonConfig();

jsonConfig.setJsonPropertyFilter(newPropertyFilter(){

publicbooleanapply(Objectsource,Stringname,Objectvalue)

{

returnsourceinstanceofEmployer&&name.equals("age");

}

});

JSONObjectjson=JSONObject.fromObject(employer,jsonConfig);

System.out.println("-----------------------------------------beanToJson2()带过滤器开始------------------------------------------------");

System.out.println(json.toString());

System.out.println("-----------------------------------------beanToJson2()带过滤器结束------------------------------------------------");

}

/**

*array对象转json

*@returnvoid

*/

publicstaticvoidarrayToJson(){

Employeremployer1=newEmployer();

employer1.setName("小王");

employer1.setAge(23);

employer1.setDepartment("产品研发");

Employeremployer2=newEmployer();

employer2.setName("小王");

employer2.setAge(23);

employer2.setDepartment("产品研发");

Employer[]employers=newEmployer[]{employer1,employer2};

JSONArrayjson=JSONArray.fromObject(employers);

System.out.println("-----------------------------------------arrayToJson()开始------------------------------------------------");

System.out.println(json.toString());

System.out.println("-----------------------------------------arrayToJson()结束------------------------------------------------");

}

/**

*list对象转json

*@returnvoid

*/

publicstaticvoidlistToJson(){

Listlist=newArrayList();

list.add("first");

list.add("second");

JSONArrayjson=JSONArray.fromObject(list);

System.out.println("-----------------------------------------listToJson()开始------------------------------------------------");

System.out.println(json.toString());

System.out.println("-----------------------------------------listToJson()结束------------------------------------------------");

}

/**

*map对象转json

*@returnvoid

*/

publicstaticvoidmapToJson(){

Mapmap=newHashMap();

map.put("name","json");

map.put("bool",Boolean.TRUE);

map.put("int",newInteger

(1));

map.put("arr",newString[]{"a","b"});

map.put("func","function(i){returnthis.arr[i];}");

JSONObjectjson=JSONObject.fromObject(map);

System.out.println("-----------------------------------------mapToJson()开始------------------------------------------------");

System.out.println(json.toString());

System.out.println("-----------------------------------------mapToJson()结束------------------------------------------------");

}

}

下面分别对各个部分来进行说明

1.Bean转换成json代码

[java]viewplaincopy

/**

*bean对象转json

*@returnvoid

*/

publicstaticvoidbeanToJson(){

Employeremployer=newEmployer();

employer.setName("小王");

employer.setAge(23);

employer.setDepartment("产品研发");

JSONObjectjson=JSONObject.fromObject(employer);

System.out.println("-----------------------------------------beanToJson()开始------------------------------------------------");

System.out.println(json.toString());

System.out.println("-----------------------------------------beanToJson()结束------------------------------------------------");

}

运行结果如下:

2.数组转换成json代码

[java]viewplaincopy

/**

*array对象转json

*@returnvoid

*/

publicstaticvoidarrayToJson(){

Employeremployer1=newEmployer();

employer1.setName("小王");

employer1.setAge(23);

employer1.setDepartment("产品研发");

Employeremployer2=newEmployer();

employer2.setName("小王");

employer2.setAge(23);

employer2.setDepartment("产品研发");

Employer[]employers=newEmployer[]{employer1,employer2};

JSONArrayjson=JSONArray.fromObject(employers);

System.out.println("-----------------------------------------arrayToJson()开始------------------------------------------------");

System.out.println(json.toString());

System.out.println("-----------------------------------------arrayToJson()结束------------------------------------------------");

}

运行结果如下:

3.List集合转换成json方法

[java]viewplaincopy

/**

*list对象转json

*@returnvoid

*/

publicstaticvoidlistToJson(){

Listlist=newArrayList();

list.add("first");

list.add("second");

JSONArrayjson=JSONArray.fromObject(list);

System.out.println("-----------------------------------------listToJson()开始------------------------------------------------");

System.out.println(json.toString());

System.out.println("-----------------------------------------listToJson()结束------------------------------------------------");

}

运行结果如下:

4.Map集合转换成json方法

[java]viewplaincopy

/**

*map对象转json

*@returnvoid

*/

publicstaticvoidmapToJson(){

Mapmap=newHashMap();

map.put("name","json");

map.put("bool",Boolean.TRUE);

map.put("int",newInteger

(1));

map.put("arr",newString[]{"a","b"});

map.put("func","function(i){returnthis.arr[i];}");

JSONObjectjson=JSONObject.fromObject(map);

System.out.pri

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1