import io.circe._;
import io.circe.generic.auto._;
import io.circe.parser._;
import io.circe.syntax._;
public class CirceGenericDemo {
public static void main(String[] args) {
JsonObject jsonObject = Json.obj(
"name", "John Doe",
"age", 30,
"city", "New York"
);
String jsonString = jsonObject.toString();
System.out.println("Serialized JSON: " + jsonString);
Json parseJson = parse(jsonString).getOrElse(Json.Null);
String name = parseJson.hcursor().downField("name").as[String].getOrElse("");
int age = parseJson.hcursor().downField("age").as[Int].getOrElse(0);
String city = parseJson.hcursor().downField("city").as[String].getOrElse("");
System.out.println("Deserialized JSON - Name: " + name);
System.out.println("Deserialized JSON - Age: " + age);
System.out.println("Deserialized JSON - City: " + city);
}
}
<dependencies>
<dependency>
<groupId>io.circe</groupId>
<artifactId>circe-core_2.13</artifactId>
<version>0.14.1</version>
</dependency>
<dependency>
<groupId>io.circe</groupId>
<artifactId>circe-generic_2.13</artifactId>
<version>0.14.1</version>
</dependency>
<dependency>
<groupId>io.circe</groupId>
<artifactId>circe-parser_2.13</artifactId>
<version>0.14.1</version>
</dependency>
</dependencies>