JsonGenerator একটি বেস ক্লাস যা JSON কন্টেন্ট লেখার জন্য পাবリック API ডিফাইন করে। ইনস্ট্যান্সগুলো JsonFactory ইনস্ট্যান্সের ফ্যাক্টরি মেথড ব্যবহার করে তৈরি করা হয়। একবার ফ্যাক্টরি ইনস্ট্যান্স থেকে JsonGenerator পাওয়ার পর, আমরা নিম্নলিখিত মেথডগুলো ব্যবহার করতে পারি:
- writeStartObject() - JSON অবজেক্ট ভ্যালুর শুরু করার مار্কার লেখার জন্য
- writeFieldName() - ফিল্ড নাম লেখার জন্য
- writeString() - স্ট্রিং ভ্যালু আউটপুট করার জন্য
- writeStartArray() - অ্যারে ভ্যালুর শুরু করার মার্কার লেখার জন্য
- writeEndObject() - JSON অবজেক্ট ভ্যালুর ক্লোজিং মার্কার লেখার জন্য
সিনট্যাক্স
public abstract class JsonGenerator extends Object implements Closeable, Flushable, Versioned
উদাহরণ
import java.io.*;
import com.fasterxml.jackson.core.*;
public class JsonGeneratorTest {
public static void main(String args[]) throws IOException {
JsonFactory factory = new JsonFactory();
StringWriter jsonObjectWriter = new StringWriter();
JsonGenerator generator = factory.createGenerator(jsonObjectWriter);
generator.useDefaultPrettyPrinter(); // প্রিটি প্রিন্ট JSON
generator.writeStartObject();
generator.writeFieldName("empid");
generator.writeString("120");
generator.writeFieldName("firstName");
generator.writeString("Ravi");
generator.writeFieldName("lastName");
generator.writeString("Chandra");
generator.writeFieldName("technologies");
generator.writeStartArray();
generator.writeString("SAP");
generator.writeString("Java");
generator.writeString("Selenium");
generator.writeEndArray();
generator.writeEndObject();
generator.close(); // জেনারেটর বন্ধ করতে
System.out.println(jsonObjectWriter.toString());
}
}
আউটপুট
{
"empid" : "120",
"firstName" : "Ravi",
"lastName" : "Chandra",
"technologies" : [ "SAP", "Java", "Selenium" ]
}
ব্যাখ্যা: JsonFactory থেকে JsonGenerator তৈরি করা হয়েছে। StringWriter ব্যবহার করে আউটপুট সংগ্রহ করা হয়েছে। ডিফল্ট প্রিটি প্রিন্টার সেট করে JSON সুন্দরভাবে ফরম্যাট করা হয়েছে।