Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

วิธีเพิ่ม Elements ให้ JSON Object ด้วย JSON-lib API ใน Java

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 จาก Map
  • element(key, value) - fluent version ของ put()

สรุป

JSONObject.element() ให้วิธีสร้าง JSON object แบบ programmatic และ fluent API อย่างสะดวก เหมาะสำหรับสร้าง JSON output โดยไม่ต้องมี Java bean class ก่อนhand