কম্পিউটার টিউটোরিয়াল

javax.json API দিয়ে বিদ্যমান JSON ডেটা আপডেট করা

JsonBuilderFactory ইন্টারফেস JsonObjectBuilder ইনস্ট্যান্স তৈরি করার ফ্যাক্টরি। JsonObjectBuilder স্ক্র্যাচ থেকে JsonObject মডেল বিল্ড করার বিল্ডার। এই ইন্টারফেস একটি খালি JSON অবজেক্ট মডেল ইনিশিয়ালাইজ করে এবং অবজেক্ট মডেলে নেম/ভ্যালু পেয়ার যোগ করার মেথড এবং ফলাফল রিটার্ন করার মেথড প্রদান করে। createObjectBuilder() মেথড ব্যবহার করে JsonObjectBuilder ইনস্ট্যান্স তৈরি করা যায়।

সিনট্যাক্স

JsonObjectBuilder createObjectBuilder()

উদাহরণ

import java.io.*;
import javax.json.*;

public class UpdateExistingJsonTest {
    public static void main(String[] args) throws Exception {
        String jsonString = "{\"id\":\"115\", \"name\":\"Raja\", \"address\":[{\"area\":\"Madhapur\", \"city\":\"Hyderabad\"}]}";
        StringReader reader = new StringReader(jsonString);
        JsonReader jsonReader = Json.createReader(reader);
        
        System.out.println("Existing JSON: \n" + jsonString);
        
        StringWriter writer = new StringWriter();
        JsonWriter jsonWriter = Json.createWriter(writer);
        JsonObject jsonObject = jsonReader.readObject();
        
        JsonBuilderFactory jsonBuilderFactory = Json.createBuilderFactory(null);
        JsonObjectBuilder jsonObjectBuilder = jsonBuilderFactory.createObjectBuilder();
        
        for(String key : jsonObject.keySet()) {
            jsonObjectBuilder.add(key, jsonObject.get(key));
        }
        
        jsonObjectBuilder.add("Contact Number", "9959984000");
        jsonObjectBuilder.add("Country", "India");
        
        jsonObject = jsonObjectBuilder.build();
        jsonWriter.writeObject(jsonObject);
        
        System.out.println("new JSON: \n" + jsonObject);
    }
}

আউটপুট

Existing JSON: {"id":"115", "name":"Raja", "address":[{"area":"Madhapur", "city":"Hyderabad"}]}
new JSON: {"id":"115","name":"Raja","address":[{"area":"Madhapur","city":"Hyderabad"}],"Contact Number":"9959984000","Country":"India"}

ব্যাখ্যা

  1. JsonReader দিয়ে স্ট্রিং থেকে JsonObject পার্স
  2. JsonBuilderFactory থেকে JsonObjectBuilder তৈরি
  3. পুরনো JsonObject-এর সব কী/ভ্যালু কপি করুন বিল্ডারে
  4. নতুন ফিল্ড যোগ করুন (add())
  5. build() কল করে নতুন JsonObject পান

আধুনিক বিকল্প (Jackson)

ObjectMapper mapper = new ObjectMapper();
ObjectNode node = (ObjectNode) mapper.readTree(jsonString);
node.put("Contact Number", "9959984000");
node.put("Country", "India");
String updatedJson = mapper.writeValueAsString(node);
  1. জাভাতে Gson স্ট্রিমিং API ব্যবহার করে ফাইল পড়া ও লেখার পদ্ধতি

  2. জাভাতে Jackson ব্যবহার করে JSON-এ ফিল্ড নাম পরিবর্তন করার পদ্ধতি

  3. জাভাতে JSON অবজেক্ট ডিকোড করুন

  4. জাভাতে JSON ফাইল পড়ুন