import spray.json.*; class Person { public String name; public int age; } String jsonString = "{\"name\":\"John\", \"age\":30}"; Person person = JsonParser.apply(jsonString).convertTo(Person.class); String jsonOutput = person.toJson().toString(); import spray.json.*; class PersonJsonFormat implements RootJsonFormat<Person> { public Person read(JsonValue json) { JsonObject jsonObject = (JsonObject) json; String name = jsonObject.get("name").asString(); int age = jsonObject.get("age").asInt(); Person person = new Person(); person.setName(name); person.setAge(age); return person; } public JsonValue write(Person person) { JsonObjectBuilder builder = Json.createObjectBuilder(); builder.add("name", person.getName()); builder.add("age", person.getAge()); return builder.build(); } } JsonReaderSettings settings = new JsonReaderSettings(); settings.getCustomFormats().put(Person.class, new PersonJsonFormat()); Person person = Json.createReader(new StringReader(jsonString), settings).readObject(Person.class); StringWriter writer = new StringWriter(); Json.createWriter(writer).writeObject(person, Person.class); String jsonOutput = writer.toString(); import spray.json.*; String invalidJsonString = "{\"name\":\"John\", \"age\":}"; try { Person person = JsonParser.apply(invalidJsonString).convertTo(Person.class); } catch (DeserializationException e) { }


上一篇:
下一篇:
切换中文