Eu estou tentando serializar um objeto Java com grandenúmeros para JSON. Na verdade, é um qword em C e seu unsigned. Isso não se ajusta por muito tempo em Java é assinado. Eu posso lidar com esses números em Java com BigInteger, mas serializar isso para JSON me dá o número entre aspas como este
"bigNumber":"12121211243123245845384534687435634558945453489543985435"
O que eu quero alcançar é o número real em JSON sem cotações como esta
"bigNumber":12121211243123245845384534687435634558945453489543985435
Ter serializador personalizado não ajuda ou eu não sei como escrevê-lo.
Como isso é possível no Gson?
Respostas:
2 para resposta № 1Ei, eu tentei a mesma coisa com GSON e está funcionando bem para mim.
Aqui está o código que tentei:
Classe JAVA:
class Data{
BigInteger bigNumber;
public BigInteger getBigNumber() {
return bigNumber;
}
public void setBigNumber(BigInteger bigNumber) {
this.bigNumber = bigNumber;
}
}
Código para serializá-lo para JSON:
Data data=new Data();
data.setBigNumber(new BigInteger("12121211243123245845384534687435634558945453489543985435"));
Gson gson=new Gson();
String jsonString=gson.toJson(data);
Saída:
{"bigNumber":12121211243123245845384534687435634558945453489543985435}