<dependency>
<groupId>io.spray</groupId>
<artifactId>spray-json_2.12</artifactId>
<version>1.3.6</version>
</dependency>
public class Person {
private String name;
private int age;
// Getters and setters
}
import spray.json.DefaultJsonProtocol;
public class PersonJsonProtocol extends DefaultJsonProtocol {
implicit public val personFormat: JsonFormat[Person] = jsonFormat2(Person)
}
import spray.json.JsonParser;
import spray.json.JsonWriter;
import spray.json.JsonReader;
public class Main {
public static void main(String[] args) {
Person person = new Person("Alice", 25);
String json = person.toJson().toString();
System.out.println(json);
String jsonString = "{\"name\":\"Bob\",\"age\":30}";
Person deserializedPerson = JsonParser.apply(jsonString).convertTo(Person.class);
System.out.println(deserializedPerson);
}
}