Android将位置模型转换为json字符串

问题描述 投票:1回答:1

我在将位置模型转换为JSON字符串时遇到了一个问题。

当我尝试用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类不能工作。

android json kotlin location gson
1个回答
0
投票

使用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}")

© www.soinside.com 2019 - 2024. All rights reserved.