JsonGenerator ক্লাস JSON ডেটা স্ট্রিম হিসেবে লিখতে দায়িত্বশীল অবজেক্ট মডেল মেমোরিতে বানানো বদলে। যে সেটিংগুলো অন/অফ করা যায় সেগুলো JsonGenerator.Feature enum-এ রয়েছে, এতে স্ট্যাটিক values() মেথড রয়েছে যা এই enum টাইপের কনস্ট্যান্টস কন্টেইনিং অ্যারে রিটার্ন করে।
সিনট্যাক্স
public static enum JsonGenerator.Feature extends Enum<JsonGenerator.Feature>
উদাহরণ
import java.io.*;
import com.fasterxml.jackson.core.*;
public class JsonGeneratorSettingsTest {
public static void main(String[] args) throws IOException {
StringWriter writer = new StringWriter();
JsonFactory jsonFactory = new JsonFactory();
JsonGenerator jsonGenerator = jsonFactory.createGenerator(writer);
for(JsonGenerator.Feature feature : JsonGenerator.Feature.values()) {
boolean result = jsonGenerator.isEnabled(feature);
System.out.println(feature.name() + ":" + result);
}
jsonGenerator.close();
}
}
আউটপুট
AUTO_CLOSE_TARGET:true
AUTO_CLOSE_JSON_CONTENT:true
FLUSH_PASSED_TO_STREAM:true
QUOTE_FIELD_NAMES:true
QUOTE_NON_NUMERIC_NUMBERS:true
ESCAPE_NON_ASCII:false
WRITE_NUMBERS_AS_STRINGS:false
WRITE_BIGDECIMAL_AS_PLAIN:false
STRICT_DUPLICATE_DETECTION:false
IGNORE_UNKNOWN:false
প্রধান ফিচার ব্যাখ্যা
| ফিচার | ডিফল্ট | ব্যাখ্যা |
|---|---|---|
| AUTO_CLOSE_TARGET | true | রাইটিং শেষে আউটপুট টার্গেট (Writer/OutputStream) বন্ধ করুন |
| AUTO_CLOSE_JSON_CONTENT | true | অটোমেটিক্যালি রুট অ্যারে/অবজেক্ট ক্লোজ করুন |
| FLUSH_PASSED_TO_STREAM | true | flush() কল আন্ডারলাইনিং স্ট্রিমে পাস করুন |
| QUOTE_FIELD_NAMES | true | ফিল্ড নাম কোটেশন মার্কে রাখুন (স্ট্যান্ডার্ড JSON) |
| QUOTE_NON_NUMERIC_NUMBERS | true | NaN, Infinity কোটেশন মার্কে রাখুন (নন-স্ট্যান্ডার্ড) |
| ESCAPE_NON_ASCII | false | নন-ASCII ক্যারেক্টার Unicode এস্কেপ (\uXXXX) করুন |
| WRITE_NUMBERS_AS_STRINGS | false | নাম্বার স্ট্রিং হিসেবে লিখুন (কোটেশন সহ) |
| WRITE_BIGDECIMAL_AS_PLAIN | false | BigDecimal সاين্টিফিক নোটেশন ছাড়া প্লেইন লিখুন |
কনফিগারেশন
JsonFactory factory = JsonFactory.builder()
.enable(JsonGenerator.Feature.ESCAPE_NON_ASCII)
.enable(JsonGenerator.Feature.WRITE_BIGDECIMAL_AS_PLAIN)
.build();
JsonGenerator generator = factory.createGenerator(outputStream);