🎓 Top 15 Udemy Courses (80-90% Discount): My Udemy Courses - Ramesh Fadatare — All my Udemy courses are real-time and project oriented courses.
▶️ Subscribe to My YouTube Channel (178K+ subscribers): Java Guides on YouTube
▶️ For AI, ChatGPT, Web, Tech, and Generative AI, subscribe to another channel: Ramesh Fadatare on YouTube
JSR 354 addresses the standard Java API for JSON processing(JSON-P) and shipped as part of JavaEE 7. The Java API for JSON Processing provides portable APIs to parse, generate, transform, and query JSON using the streaming API or the object model API.
JSON-P Object model API provides below important classes and interfaces:
- Json - Contains static methods to create JSON parsers, generators, and their factories.
- JsonObjectBuilder - Creates an object model in memory by adding values from application code.
- JsonArrayBuilder - Creates an array model in memory by adding values from application code.
- JsonReader - Reads a JsonObject or a JsonArray from an input source.
- JsonWriter - Writes a JsonObject or a JsonArray to an output source.
In this example, we use a JsonObjectBuilder to create a JSON string.
Add Dependencies
JSON-P is the reference implementation for Java JSON Processing API. We can use this in maven project by adding the following dependencies:
<dependency>
<groupId>javax.json</groupId>
<artifactId>javax.json-api</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.json</artifactId>
<version>1.1</version>
</dependency>
Java JSON-P JsonObjectBuilder Example
package net.javaguides.jsonp.examples;
import java.io.StringWriter;
import java.time.LocalDate;
import java.util.HashMap;
import java.util.Map;
import javax.json.Json;
import javax.json.JsonObject;
import javax.json.JsonObjectBuilder;
import javax.json.JsonWriter;
import javax.json.JsonWriterFactory;
import javax.json.stream.JsonGenerator;
/**
* The class demonstrates the usage of JsonObjectBuilder class
* @author Ramesh Fadatare
*
*/
public class JsonObjectBuilderExample {
public static void main(String[] args) {
String postedDate = LocalDate.of(2019, 7, 15).toString();
JsonObjectBuilder jsonObjectBuilder = Json.createObjectBuilder()
.add("id", "100")
.add("title", "JSON-Processing API Post")
.add("description", "JSON-Processing API Post")
.add("postedDate", postedDate);
JsonObject jsonObject = jsonObjectBuilder.build();
Map < String, Boolean > config = new HashMap < String, Boolean > ();
config.put(JsonGenerator.PRETTY_PRINTING, true);
JsonWriterFactory jwf = Json.createWriterFactory(config);
StringWriter sw = new StringWriter();
try (JsonWriter jsonWriter = jwf.createWriter(sw)) {
jsonWriter.writeObject(jsonObject);
System.out.println(sw);
}
}
}
Output:
{
"id": "100",
"title": "JSON-Processing API Post",
"description": "JSON-Processing API Post",
"postedDate": "2019-07-15"
}
Let's understand the above example.
A JsonObjectBuilder is created with createObjectBuilder(). New pairs are inserted with add(). Finally, the JsonObject is created with build():
String postedDate = LocalDate.of(2019, 7, 15).toString();
JsonObjectBuilder jsonObjectBuilder = Json.createObjectBuilder()
.add("id", "100")
.add("title", "JSON-Processing API Post")
.add("description", "JSON-Processing API Post")
.add("postedDate", postedDate);
JsonObject jsonObject = jsonObjectBuilder.build();
Create JsonWriterFactory from createWriterFactory() method and pretty print the JSON with JsonGenerator.PRETTY_PRINTING settings:
Map<String, Boolean> config = new HashMap<String, Boolean>();
config.put(JsonGenerator.PRETTY_PRINTING, true);
JsonWriterFactory jwf = Json.createWriterFactory(config);
StringWriter sw = new StringWriter();
try (JsonWriter jsonWriter = jwf.createWriter(sw)) {
jsonWriter.writeObject(jsonObject);
System.out.println(sw);
}
My Top and Bestseller Udemy Courses. The sale is going on with a 70 - 80% discount. The discount coupon has been added to each course below:
Build REST APIs with Spring Boot 4, Spring Security 7, and JWT
🆕 High-Demand
80–90% OFF
[NEW] Learn Apache Maven with IntelliJ IDEA and Java 25
🆕 High-Demand
80–90% OFF
ChatGPT + Generative AI + Prompt Engineering for Beginners
🚀 Trending Now
80–90% OFF
Spring 7 and Spring Boot 4 for Beginners (Includes 8 Projects)
🔥 Bestseller
80–90% OFF
Available in Udemy for Business
Available in Udemy for Business
Building Real-Time REST APIs with Spring Boot - Blog App
🔥 Bestseller
80–90% OFF
Available in Udemy for Business
Available in Udemy for Business
Building Microservices with Spring Boot and Spring Cloud
🌟 Top Rated
80–90% OFF
Available in Udemy for Business
Available in Udemy for Business
Java Full-Stack Developer Course with Spring Boot and React JS
🔥 Bestseller
80–90% OFF
Available in Udemy for Business
Available in Udemy for Business
Build 5 Spring Boot Projects with Java: Line-by-Line Coding
🌟 Top Rated
80–90% OFF
Testing Spring Boot Application with JUnit and Mockito
🔥 Bestseller
80–90% OFF
Available in Udemy for Business
Available in Udemy for Business
Spring Boot Thymeleaf Real-Time Web Application - Blog App
🔥 Bestseller
80–90% OFF
Available in Udemy for Business
Available in Udemy for Business
Master Spring Data JPA with Hibernate
🔥 Bestseller
80–90% OFF
Available in Udemy for Business
Available in Udemy for Business
Spring Boot + Apache Kafka Course - The Practical Guide
🎓 Student Favorite
80–90% OFF
Available in Udemy for Business
Available in Udemy for Business
Comments
Post a Comment
Leave Comment