Кроссплатформенная поддержка toJson и fromJsonAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Кроссплатформенная поддержка toJson и fromJson

Сообщение Anonymous »

У меня есть приложение для Android, написанное на Kotlin. У меня есть несколько классов, и для каждого класса я использую функции Gson toJson и fromJson для этих классов. Например:

Код: Выделить всё

class A{

fun toJson():String {
return Gson().toJson(this)
}

fun fromJson(jsonString:String):A{
return Gson().fromJson(jsonString, A::class)
}
}
У меня есть еще один класс B:

Код: Выделить всё

class B{

fun toJson():String {
return Gson().toJson(this)
}

fun fromJson(jsonString:String):B{
return Gson().fromJson(jsonString, B::class)
}
}
Я использовал это, создавая экземпляр класса и затем вызывая метод (примечание: я создаю экземпляр этого класса () в другом классе:

Код: Выделить всё

val a = A()
a.toJson()
Но сейчас я пытаюсь преобразовать это в мультиплатформенный проект Kotlin, но не знаю, как подойти к преобразованиям to и from json в мультиплатформе Kotlin.< /p>
Я пробовал создавать ожидаемые функции как таковые:

Код: Выделить всё

expect fun toJsonClassA():String
expect fun fromJsonClassA(jsonString: String): A

class A{

}
а затем реализовать их фактические реализации как таковые:

Код: Выделить всё

actual fun toJsonClassA(): String {
return Gson().toJson(A::class.java)
}
При использовании приведенных выше реализаций для конкретной платформы я не могу вызывать функции toJsonClassA или fromJsonClassA с экземпляром имени класса.
Это не сработает:

Код: Выделить всё

val a = A()
a.toJsonClassA()
Любая помощь или совет относительно того, как реализовать сериализацию и десериализацию Json в мультиплатформе Kotlin, буду высоко оценена.

Подробнее здесь: https://stackoverflow.com/questions/633 ... rm-support
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Кроссплатформенная поддержка toJson и fromJson
    Anonymous » » в форуме Android
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Jsonb.fromJson не десериализует набор, созданный из строки JSON, созданной Jsonb.toJson(objectWithSet).
    Anonymous » » в форуме JAVA
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Jsonb.fromJson не десериализует набор, созданный из строки JSON, созданной Jsonb.toJson(objectWithSet).
    Anonymous » » в форуме JAVA
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Кроссплатформенная поддержка 128-битных атомных операций в Clang (Compare и Swap или эквивалент)
    Anonymous » » в форуме C++
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Кроссплатформенная поддержка 128-битных атомных операций в Clang (Compare и Swap или эквивалент)
    Anonymous » » в форуме C++
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Android»