Ich habe diesen einfachen Code verwendet:JsonObject als Einheit für Jersey 2 Antwort
package com.example
import javax.json.Json;
import javax.json.JsonObject;
...
@Path("/")
public class Resource {
@GET
@Produces(MediaType.APPLICATION_JSON)
public Response defaultEntry() {
JsonObject result = (Json.createObjectBuilder()
.add("hello", "world")
.build());
return Response.status(200).entity(result.toString()).build();
}
}
Ich bin neu in Java, könnte jemand bitte erklären, warum, wenn ich den Anruf zu result.toString()
weglassen und einfach result
-.entity
passieren (etwa so: return Response.status(200).entity(result).build()
), erhalte ich JSON auf dem Client, etc geben Informationen beinhaltet, ist aber nicht das, was ich erwartet hatte:
{"hello":{"chars":"world","string":"world","valueType":"STRING"}}
was die Absicht ist das? Wie unterscheidet es sich von JsonObject
davon, eine Zeichenfolge zu übergeben?
Auch habe ich Response.entity
Methode in der Dokumentation (https://jersey.java.net/apidocs/2.11/jersey/javax/ws/rs/core/Response.html) nicht gefunden. Ich kopierte diesen Code aus einem Tutorial, das nicht richtig erklärt, was los ist ...
was erwarten Sie? nur Werte? –
Wissen Sie, welchen JSON-Serializer Sie verwenden? Moxy, Jackson, Gson usw.? –
Ich erwarte '{" Hallo ":" Welt "}'. Ich weiß nicht, welchen Serialisierer ich verwende. Wie finde ich heraus? – akonsu