Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中使用gson将长数字转换为jsonelement_Java - Fatal编程技术网

如何在java中使用gson将长数字转换为jsonelement

如何在java中使用gson将长数字转换为jsonelement,java,Java,它将抛出不兼容类型的错误。如何将值转换为jsonelement?您可能需要用新的计算值重新创建一个jsonelement,然后在条目中替换它: JsonElement value = entry.getValue(); value = value.getAsLong() * 1000; 您可能需要使用新的计算值重新创建jsonement,然后在条目中替换它: JsonElement value = entry.getValue(); value = value.getAsLong() * 10

它将抛出不兼容类型的错误。如何将
转换为jsonelement?

您可能需要用新的计算值重新创建一个
jsonelement
,然后在条目中替换它:

JsonElement value = entry.getValue();
value = value.getAsLong() * 1000;

您可能需要使用新的计算值重新创建
jsonement
,然后在条目中替换它:

JsonElement value = entry.getValue();
value = value.getAsLong() * 1000;

我最近用它将一个JSON数字转换为一个长的,也许对某些人有用:

Gson gson = new GsonBuilder().create();

JsonElement value = entry.getValue();
JsonElement newElement = gson.toJsonTree(value.getAsLong() * 1000);
entry.setValue(newElement);
类OrdersDeserializer:jsondeSserializer{
重写有趣的反序列化(json:JsonElement,typeOfT:Type,context:JsonDeserializationContext):OrdersResponse.Orders{
val jsonObject=json.asJsonObject
val total=jsonObject.get(“total”).asNumber.toLong()
添加(“总计”,JsonPrimitive(总计))
返回Gson().fromJson(jsonObject,OrdersResponse.Orders::class.java)
}
}

我最近用它将一个JSON数字转换为一个长的,也许对某人有用:

Gson gson = new GsonBuilder().create();

JsonElement value = entry.getValue();
JsonElement newElement = gson.toJsonTree(value.getAsLong() * 1000);
entry.setValue(newElement);
类OrdersDeserializer:jsondeSserializer{
重写有趣的反序列化(json:JsonElement,typeOfT:Type,context:JsonDeserializationContext):OrdersResponse.Orders{
val jsonObject=json.asJsonObject
val total=jsonObject.get(“total”).asNumber.toLong()
添加(“总计”,JsonPrimitive(总计))
返回Gson().fromJson(jsonObject,OrdersResponse.Orders::class.java)
}
}

这是一个解决方案,但最终我用另一种方式实现了。比如
value=newjsonprimitive(value.getAsLong()*1000)。它也起了作用。无论如何,谢谢你。事实上,你的解决方案看起来更聪明。不管怎样,我会留下这个答案,连同你的评论,这可能会帮助其他人。这是一个解决方案,但我最终用另一种方式做到了。比如
value=newjsonprimitive(value.getAsLong()*1000)。它也起了作用。无论如何,谢谢你。事实上,你的解决方案看起来更聪明。无论如何,我会留下这个答案,连同你的评论,它可能会帮助其他人。