Json介绍
来源:互联网 发布:域名劫持工具 编辑:程序博客网 时间:2024/05/23 00:07
需要导入这些包 :
commons-beanutils-1.7.0.jar
commons-lang-2.1.jar
ezmorph-1.0.2.jar
json-lib-1.1-jdk15.jar
1.简单XML
XML格式:
<person>
<name>xiazdong</name>
<age>20</age>
</person>
<person>
<name>xiazdong</name>
<age>20</age>
</person>
JSON格式:
{
"name":"xiazdong",
"age":20
}
{
"name":"xiazdong",
"age":20
}
(1)JSON的数据结构只有两种:JSON包中最常用的两个类就是JSONObject和JSONArray。
1.Map
简单的说就是Java中的Map,名称-值对的形式给出,名称和值之间用“:”隔开,两个Map之间用“,”隔开,一般表示形式如下:
{'key1':'value1','key2':'value2'}
2.Array
就是普通意义上的数组,一般形式如下:
['arr1','arr2','arr3'];
(2)可以嵌套表示,比如Array中可以嵌套Object等;
(3)记住:Object是以{}表示,Array是以[ ]表示;
1.JSONObject代码实例 :
public class Test {
public static void main(String[] args) throws Exception{
JSONObject jsonobj = new JSONObject("{'name':'xiazdong','age':20}");
String name = jsonobj.getString("name");
int age = jsonobj.getInt("age");
System.out.println(name+":"+age);
}
}
2.JSONArray代码实例 :
public class Test {
public static void main(String[] args) throws Exception{
JSONArray jsonarray = new JSONArray("[{'name':'xiazdong','age':20},{'name':'xzdong','age':15}]");
for(int i=0;i<jsonarray.length();i++){
String name = jsonarray.getJSONObject(i).getString("name");
int age = jsonarray.getJSONObject(i).getInt("age");
System.out.println("name="+name);
System.out.println("age="+age);
}
}
}
3.嵌套JSONObject和JSONArray代码实例 :
public class Test {
public static void main(String[] args) throws Exception{
String str = "{'name':'xiazdong','age':20,'book':['book1','book2']";
JSONObject obj = new JSONObject(str);
System.out.println(obj.getJSONArray("book").getString(0));
}
}
4.JSONStringer代码示例
JSONStringer可以用来快速构建一个JSON格式的文本,并转换成String,可以写入文件;
JSONStringer是JSONWriter的子类;
JSONStringer一般通过object().key().value().key().value().endObject()进行构造;
object()表明开始一个对象,即添加{ ;
endObject()表明结束一个对象,即添加 } ;
array()表明开始一个数组,即添加一个 [ ;
endArray()表明结束一个数组,即添加一个 ] ;
key()表示添加一个key;
value()表示添加一个value;
public class JsonStringerDemo {
public static void main(String[] args) throws Exception{
JSONStringer stringer = new JSONStringer();
String str = stringer.object().key("name").value("xiazdong").key("age").value(20).endObject().toString();
System.out.println(str);
}
}
5.复杂JSON格式写入
public class JsonStringerDemo {
public static void main(String[] args) throws Exception{
JSONStringer js = new JSONStringer();
JSONObject obj2 = new JSONObject();
JSONObject obj3 = new JSONObject();
JSONObject obj4 = new JSONObject();
obj4.put("title", "book1").put("price", "$11");
obj3.put("book", obj4);
obj3.put("author", new JSONObject().put("name", "author-1"));
JSONObject obj5 = new JSONObject();
JSONObject obj6 = new JSONObject();
obj6.put("title", "book2").put("price", "$22");
obj5.put("book", obj6);
obj5.put("author", new JSONObject().put("name", "author-2"));
JSONArray obj7 = new JSONArray();
obj7.put(obj3).put(obj5);
obj2.put("title","BOOK");
obj2.put("signing", obj7);
js.object().key("session").value(obj2).endObject();
System.out.println(js.toString());
PrintWriter out = new PrintWriter(new FileOutputStream(1.txt));
out.println(js.toString());
}
}
打印结果:
{"session":{"title":"BOOK","signing":[{"author":{"name":"author-1"},"book":{"title":"book1","price":"$11"}},{"author":{"name":"author-2"},"book":{"title":"book2","price":"$22"}}]}}
- 介绍 JSON
- JSON 介绍
- 介绍 JSON
- 介绍 JSON
- 介绍 JSON
- JSON介绍
- 介绍 JSON
- 介绍 JSON
- json介绍
- 介绍JSON
- JSON介绍
- JSON介绍
- 介绍 JSON
- 介绍 JSON
- json 介绍
- JSON介绍
- json介绍
- json介绍
- ubuntu 命令
- 何为证书吊销列表CRL?
- linux下使用find xargs grep查找文件及文件内容
- 电脑慢怎样彻底清理电脑系统垃圾【转】
- cookie 和session 的区别详解
- Json介绍
- Ubuntu更改文件夹权限
- vc++ 2010错误 IntelliSense: 无法打开 源 文件 "stdafx.h"
- png24 图片透明底
- Java:内部类
- error_reporting与display_errors的区别
- Security of ActiveX Controls
- [YII] 学习笔记
- C++ 类型转换