JSONStringer是JSONWriter的子类;
JSONStringer一般通过object().key().value().key().value().endObject()进行构造;
JSONString ():构造函数
object()表明開始一个对象,即加入{ ;
endObject()表明结束一个对象。即加入 } ;
array()表明開始一个数组,即加入一个 [ ;
endArray()表明结束一个数组,即加入一个 ] ;
key()表示加入一个key;
value()表示加入一个value;
注意:通过该方法,Object之间的“,”以及Array数组各个value之间的“,”都是自己主动加入的
简单案例:
package javaJsonAPI;
import org.json.JSONStringer;
public class JsonArrayTest {
/*
* 表示我没有在官网http://www.json.org/里面找到json的jar包 ,这里我的解决 方案是下载官网提供的源文件*.java
* 项目里面建了一个名为org.json的package,把源文件都导入进去了,事实上和在classpath中导入jar包没有差别
*/
public static void main(String args[]) {
JSONStringer js = new JSONStringer();
js.array();
js.object();
js.key("name");
js.value("hj");
js.key("age");
js.value(21);
js.endObject();
js.object();
js.key("name");
js.value("darkrake");
js.key("age");
js.value(21);
js.endObject();
js.endArray();
System.out.println(js.toString());
}
}
小综合案例:
package javaJsonAPI;
import org.json.JSONArray;
import org.json.JSONObject;
import org.json.JSONStringer;
public class JsonArrayTest {
/*
* 表示我没有在官网http://www.json.org/里面找到json的jar包 ,这里我的解决 方案是下载官网提供的源文件*.java
* 项目里面建了一个名为org.json的package。把源文件都导入进去了,事实上和在classpath中导入jar包没有差别
*/
public static void main(String args[]) {
JSONStringer js = new JSONStringer();
// 创建book1
JSONObject book1 = new JSONObject();
book1.put("name", "Java");
JSONArray ja1 = new JSONArray();
String str1[] = { "LiuWANJUN", "XXX" };
ja1.put(str1);
book1.put("author", ja1);
book1.put("price", "¥108");
// 创建book2
JSONObject book2 = new JSONObject();
book2.put("name", "JavaScript");
JSONArray ja2 = new JSONArray();
String str2[] = { "LiSongFeng", "CaoLi" };
ja2.put(str2);
book2.put("author", ja2);
book2.put("price", "¥108");
js.object();
js.key("Book");
js.array();
js.value(book1);
js.value(book2);
js.endArray();
js.endObject();
System.out.println(js.toString());
}
}{
"Book": [
{
"author": [
[
"LiuWANJUN",
"XXX"
]
],
"price": "¥108",
"name": "Java"
},
{
"author": [
[
"LiSongFeng",
"CaoLi"
]
],
"price": "¥108",
"name": "JavaScript"
}
]
}转换成XML即为:
LiuWANJUN
XXX
¥108
Java
LiSongFeng
CaoLi
¥108
JavaScript