Por favor, conselhos sobre converter um String
para JsonObject
usar gson
biblioteca.
O que eu faço sem sucesso:
String string = "abcde";
Gson gson = new Gson();
JsonObject json = new JsonObject();
json = gson.toJson(string); // Can't convert String to JsonObject
JsonObject
é uma representação intermediária. Em 99% dos casos de uso, você deve realmente se preocupar apenas em representar seus dados como um objeto Java ou como uma string contendo JSON.Você pode convertê-lo em um JavaBean se quiser usar:
Para usar JsonObject, que é mais flexível, use o seguinte:
O que é equivalente ao seguinte:
fonte
JsonObject jo = jsonParser.parse(json).getAsJsonObject();
eAssert.assertTrue(jo.get("Success").getAsBoolean());
Para fazer isso de uma forma mais simples, considere a seguir:
fonte
Eu faço isso e funcionou.
fonte
Parece que a resposta acima não respondeu à pergunta completamente.
Acho que você está procurando algo como abaixo:
onde minha resposta é mais ou menos assim:
Como você pode ver, o nome da variável deve ser o mesmo que a representação da string Json da chave no par de valores de chave. Isso converterá automaticamente sua string gson em JsonObject.
fonte
@SerializedName("Success")
por exemplo.fonte
fonte
fonte
Observe que a partir do Gson 2.8.6 , o método de instância
JsonParser.parse
foi descontinuado e substituído pelo método estáticoJsonParser.parseString
:fonte