Android将Location模型转换为json字符串



我在将Location模型转换为JSON字符串时遇到问题。

当我试图将With Gson转换为字符串时,我会丢失纬度和经度字段。

...
location.lat = 40.00000 // example
location.lng = 29.00000 // example
val jsonString = Gson().toJson(location)
val newLocation = Gson().fromJson(jsonString, Location::class.java)
Log.d(">>>>>>", "location lat is ${newLocation.lat} location lng is ${newLocation.lng} )

结果是0.0和0.0

问题出在哪里?

更新

我知道使用自定义类我可以处理这个问题,但我很好奇为什么Location类不起作用。

使用kotlin数据类,代码应该可以正常工作。

data class Location(val lat: Double, val lng: Double)
val location = Location(40.0,29.0)
val locationJson = Gson().toJson(location)
val newLocation = Gson().fromJson(locationJson, Location::class.java)
Log.d(">>>>>>", "${newLocation.lat} : ${newLocation.lng}")

最新更新