Wenn Sie die tojson-Methode von Google Gson verwenden, die Typ als Parameter akzeptiert? public String toJson (Object src, Type typeOfSrc)

Ich versuche, mein Objekt mithilfe der toJson-API von Gson in einen JSON-String zu konvertieren. Als ich auf 2 verschiedene APIs stieß, die das gleiche unterstützen.

As per Docs -

public String toJson (Object src)

Beachten Sie, dass diese Methode gut funktioniert, wenn eines der Objektfelder vom generischen Typ ist. Nur das Objekt selbst sollte keinen generischen Typ haben.Wenn das Objekt vom generischen Typ ist, verwenden Sie stattdessen toJson (Object, Type).

public String toJson (Objekt src, Typ typeOfSrc)

Diese Methode muss verwendet werden, wenn das angegebene Objekt ein generischer Typ ist.

Ich verwende die erste API, die nur Object als Parameter verwendet, jedoch ein generisches Typobjekt übergibt, und kann die JSON-Zeichenfolge trotzdem erfolgreich abrufen.

Code

@GET
@Path("/getList")
@Produces(MediaType.APPLICATION_JSON)   
public String getList()     
{       
    Gson gson = new GsonBuilder().create();
    List list = new ArrayList();
    list.add(new Message("kishore", " Bandi "));
    list.add(new Message("test", " values "));
    return gson.toJson(list);   
}

Das XML habe ich als Antwort bekommen:

[
    {
        "name": "kishore",
        "text": " Bandi ",
        "dontSend": "Hope not received",
        "iAmEmpty": ""
    },
    {
        "name": "test",
        "text": " values ",
        "dontSend": "Hope not received",
        "iAmEmpty": ""
    }
]

Same ist die Antwort, auch wenn ich den parametrisierten Typ verwendet habe.

Gson gson = new GsonBuilder().create();
        List<String> list = new ArrayList<String>();
        list.add("Kishore");
        list.add("Bandi");
        return gson.toJson(list);

Ausgabe

["Kishore","Bandi"]

Was bedeutet die zweite API, die den Typ als Parameter verwendet?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage