JSON-lib เป็น Java library สำหรับ serialize และ deserialize Java beans, maps, arrays, และ collections ในรูปแบบ JSON เราสามารถเพิ่ม elements ให้ JSON object โดยใช้เมธอด element() ของคลาส JSONObject ต้องดาวน์โหลด dependent jars เช่น json-lib.jar, ezmorph.jar, commons-lang.jar, commons-collections.jar, commons-beanutils.jar, commons-logging.jar และ import package net.sf.json
Syntax
public JSONObject element(String key, Object value) // put a key/value pair in the JSONObject
ตัวอย่างการใช้งาน
import java.util.Arrays;
import net.sf.json.JSONObject;
public class JsonAddElementTest {
public static void main(String[] args) {
JSONObject jsonObj = new JSONObject()
.element("name", "Raja Ramesh")
.element("age", 30)
.element("address", "Hyderabad")
.element("contact numbers", Arrays.asList("9959984000", "7702144400", "7013536200"));
System.out.println(jsonObj.toString(3)); // pretty print JSON
}
}
ผลลัพธ์ (Output)
{
"name": "Raja Ramesh",
"age": 30,
"address": "Hyderabad",
"contact numbers": [
"9959984000",
"7702144400",
"7013536200"
]
}
คำอธิบาย
เมธอด element() คืนค่า JSONObject เอง (fluent interface) ทำให้สามารถ chain การเรียกได้ต่อเนื่อง รองรับ value ทุกชนิดที่ JSON-lib serialize ได้: primitives, Strings, Collections, Arrays, Objects, และ nested JSONObjects/JSONArrays
เมธอดเพิ่มข้อมูลอื่นๆ ของ JSONObject
put(key, value)- เพิ่ม key/value pair (standard Map method)accumulate(key, value)- เพิ่ม value เข้า array ที่ key นั้น (สร้าง array ถ้ายังไม่มี)putAll(Map)- เพิ่มทุก entries จาก Mapelement(key, value)- fluent version ของ put()
สรุป
JSONObject.element() ให้วิธีสร้าง JSON object แบบ programmatic และ fluent API อย่างสะดวก เหมาะสำหรับสร้าง JSON output โดยไม่ต้องมี Java bean class ก่อนhand