Java和JavaScript中使用Json方法大全文档格式.docx
《Java和JavaScript中使用Json方法大全文档格式.docx》由会员分享,可在线阅读,更多相关《Java和JavaScript中使用Json方法大全文档格式.docx(25页珍藏版)》请在冰点文库上搜索。
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或多个以”,”分隔的值列表组成,语法结构如代码。
[
{
value2
},
key3:
value3,
key4:
value4
}
]
如:
[{"
23},{"
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(){
{\"
name\"
\"
\"
department\"
}"
}*/
JsonTest.java全部代码如下:
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());
-----------------------------------------beanToJson()结束------------------------------------------------"
*bean对象转json,带过滤器
publicstaticvoidbeanToJson1(){
JsonConfigjsonConfig=newJsonConfig();
jsonConfig.setExcludes(newString[]
{"
});
JSONObjectjson=JSONObject.fromObject(employer,jsonConfig);
-----------------------------------------beanToJson1()带过滤器开始------------------------------------------------"
-----------------------------------------beanToJson1()带过滤器结束------------------------------------------------"
publicstaticvoidbeanToJson2(){
jsonConfig.setJsonPropertyFilter(newPropertyFilter(){
publicbooleanapply(Objectsource,Stringname,Objectvalue)
returnsourceinstanceofEmployer&
&
name.equals("
-----------------------------------------beanToJson2()带过滤器开始------------------------------------------------"
-----------------------------------------beanToJson2()带过滤器结束------------------------------------------------"
*array对象转json
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);
-----------------------------------------arrayToJson()开始------------------------------------------------"
-----------------------------------------arrayToJson()结束------------------------------------------------"
*list对象转json
publicstaticvoidlistToJson(){
List<
String>
list=newArrayList<
();
list.add("
first"
);
second"
JSONArrayjson=JSONArray.fromObject(list);
-----------------------------------------listToJson()开始------------------------------------------------"
-----------------------------------------listToJson()结束------------------------------------------------"
*map对象转json
publicstaticvoidmapToJson(){
Map<
Object,Object>
map=newHashMap<
map.put("
"
json"
bool"
Boolean.TRUE);
int"
newInteger
(1));
arr"
newString[]{"
a"
b"
func"
function(i){returnthis.arr[i];
}"
JSONObjectjson=JSONObject.fromObject(map);
-----------------------------------------mapToJson()开始------------------------------------------------"
-----------------------------------------mapToJson()结束------------------------------------------------"
下面分别对各个部分来进行说明
1.Bean转换成json代码
publicstaticvoidbeanToJson(){
运行结果如下:
2.数组转换成json代码
publicstaticvoidarrayToJson(){
3.List集合转换成json方法
publicstaticvoidlistToJson(){
4.Map集合转换成json方法
publicstaticvoidmapToJson(){
System.out.pri