JSONStringer ให้วิธีสร้าง ข้อความ JSON ที่สะดวกและปฏิบัติตาม กฎไวยากรณ์ JSON อย่างเคร่งครัด แต่ละอินสแตนซ์สร้าง JSON text ได้หนึ่งชิ้น มีเมธอดหลักดังนี้:
- key() - เพิ่มคีย์ก่อนค่าในอ็อบเจกต์
- value() - เพิ่มค่า
- object() / endObject() - เริ่ม/จบอ็อบเจกต์
- array() / endArray() - เริ่ม/จบอาร์เรย์
ตัวอย่าง 1: สร้าง JSON Object
import org.json.*;
public class JSONStringerTest1 {
public static void main(String[] args) throws JSONException {
JSONStringer stringer = new JSONStringer();
String jsonStr = stringer
.object() // เริ่ม JSON Object
.key("Name").value("Raja")
.key("Age").value("25")
.key("City").value("Hyderabad")
.endObject() // จบ JSON Object
.toString();
System.out.println(jsonStr);
}
}
ผลลัพธ์
{"Name":"Raja","Age":"25","City":"Hyderabad"}
ตัวอย่าง 2: สร้าง JSON Array ของ Objects
import org.json.*;
public class JSONStringerTest2 {
public static void main(String[] args) throws JSONException {
JSONStringer stringer = new JSONStringer();
String jsonStr = stringer
.array() // เริ่ม JSON Array
.object() // เริ่ม Object ที่ 1
.key("Name").value("Adithya")
.key("Age").value("25")
.key("Mobile").value("9959984000")
.endObject() // จบ Object ที่ 1
.object() // เริ่ม Object ที่ 2
.key("Address").value("Madhapur")
.key("City").value("Hyderabad")
.endObject() // จบ Object ที่ 2
.endArray() // จบ JSON Array
.toString();
System.out.println(jsonStr);
}
}
ผลลัพธ์
[{"Name":"Adithya","Age":"25","Mobile":"9959984000"},{"Address":"Madhapur","City":"Hyderabad"}]
กรณีใช้งาน: เหมาะสำหรับสร้าง JSON แบบสตรีมมิ่ง (streaming) หรือเมื่อต้องควบคุมโครงสร้างอย่างแม่นยำ