Articles of gson

Gson manipular object ou matriz

Eu tenho as seguintes classs public class MyClass { private List others; } public class MyOtherClass { private String name; } E eu tenho JSON que pode se parecer com isso { others: { name: “val” } } ou isto { others: [ { name: “val” }, { name: “val” } ] } Gostaria de […]

Como decodificar o JSON com campo desconhecido usando o Gson?

Eu tenho JSON semelhante a este: { “unknown_field”: { “field1”: “str”, “field2”: “str”, “field3”: “str”, “field4”: “str”, “field5”: “str” }, …… } Eu criei classs para mapear este json public class MyModel implements Serializable { private int id; private HashMap models; // getters and setter for id and models here } e a class Model1 […]

Analisando a matriz JSON em java.util.List com o Gson

Eu tenho um JsonObject chamado “mapping” com o seguinte conteúdo: { “client”: “127.0.0.1”, “servers”: [ “8.8.8.8”, “8.8.4.4”, “156.154.70.1”, “156.154.71.1” ] } Eu sei que posso obter a matriz “servers” com: mapping.get(“servers”).getAsJsonArray() E agora eu quero analisar esse JsonArray em um java.util.List … Qual é a maneira mais fácil de fazer isso?

gson lança MalformedJsonException

Estou usando o gson para converter uma string json em um object Java. O valor de result2 é exatamente o mesmo que o valor de result1 . (Copiado do depurador; barras invertidas adicionadas) A seguinte exceção é lançada durante a conversão de result1: com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: EOF esperado na linha 1, coluna 170 Converter resultado2 funciona […]

O construtor no-args padrão é obrigatório para o Gson?

O guia do usuário do Gson afirma que devemos definir o construtor no-args padrão para qualquer class funcionar corretamente com o Gson. Ainda mais, no javadoc sobre a class InstanceCreator do Gson disse que a exceção será lançada se tentarmos desserializar a instância do construtor padrão ausente da class e devemos usar o InstanceCreator em […]

Deserializador JSON customizado usando o Gson

Eu tenho um problema com a análise de uma resposta JSON usando o Gson. String JSON: response: [ 2, { owner_id: 23972237, album_id: 25487692, title: ‘album not new’ }, { owner_id: 23972237, album_id: 25486631, title: ‘фыв’ } ] Eu tenho essas 2 classs: public class VkAudioAlbumsResponse { public ArrayList response; public VkError error; } public […]

Polimorfismo com gson

Eu tenho um problema ao desserializar uma cadeia de json com o Gson. Eu recebo uma matriz de comandos. O comando pode ser iniciar, parar, algum outro tipo de comando. Naturalmente eu tenho polymorphism e o comando start / stop herda do comando. Como posso serializá-lo de volta ao object de comando correto usando o […]

GSON – formato de data

Eu estou tentando ter um formato de data personalizado na saída do Gson, mas .setDateFormat(DateFormat.FULL) não parece funcionar e é o mesmo com .registerTypeAdapter(Date.class, new DateSerializer()) . É como se Gson não se importasse com o object “Data” e o imprimisse em seu caminho. Como posso mudar isso? obrigado EDITAR: @Entity public class AdviceSheet { […]

Gson serializa uma lista de objects polimórficos

Eu estou tentando serializar / desserializar um object, que envolve polymorphism, em JSON usando o Gson. Este é o meu código para serialização: ObixBaseObj lobbyObj = new ObixBaseObj(); lobbyObj.setIs(“obix:Lobby”); ObixOp batchOp = new ObixOp(); batchOp.setName(“batch”); batchOp.setIn(“obix:BatchIn”); batchOp.setOut(“obix:BatchOut”); lobbyObj.addChild(batchOp); Gson gson = new Gson(); System.out.println(gson.toJson(lobbyObj)); Aqui está o resultado: {“obix”:”obj”,”is”:”obix:Lobby”,”children”:[{“obix”:”op”,”name”:”batch”}]} A serialização funciona principalmente, exceto pela […]

Melhor abordagem para analisar um arquivo JSON enorme (extra grande)

Estou tentando analisar um arquivo JSON enorme (como http://eu.battle.net/auction-data/258993a3c6b974ef3e6f22ea6f822720/auctions.json ) usando a biblioteca gson ( http://code.google.com/p/google- gson / ) em JAVA. Eu gostaria de saber qual é a melhor abordagem para analisar esse tipo de arquivo grande (cerca de 80k linhas) e se você conhece uma boa API que pode me ajudar a processar isso. […]