У меня проблема с преобразованием модели Location в строку 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 не работает.
1 ответ
Используя класс данных 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}")
Location
(не пользовательский класс) не работает
@IntelliJAmiya Yes I did, but I wanna know the problem.
Похожие вопросы
Новые вопросы
android
Android — это мобильная операционная система Google, используемая для программирования или разработки цифровых устройств (смартфонов, планшетов, автомобилей, телевизоров, одежды, очков, IoT). Для тем, связанных с Android, используйте теги, специфичные для Android, такие как android-intent, android-activity, android-adapter и т. д. Для вопросов, отличных от разработки или программирования, но связанных с Android framework, используйте эту ссылку: https://android .stackexchange.com.