问题标签 [kotlinx.serialization]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1230 浏览

kotlin - 使用外部 kotlinx 序列化器序列化列表

所以,我有这个类 Item.kt

因为这个类在另一个库中(我不能编辑它的源代码),所以我有一个外部序列化器。

ItemSerializer.kt

现在,困难的部分来了。我可以在另一个类中使用这个类,如下所示

购物车.kt

但是当我使用项目对象列表时,我不知道如何使用我的序列化程序。例如

购物车.kt

我应该如何使用 kotlinx 序列化来处理它?我是否必须编写一个全新的库来序列化列表和Item实现图?

0 投票
0 回答
160 浏览

json - Kotlinx 序列化无法识别 Json.parse() 或 Data.serializer()

我尝试以下示例将 Json 字符串解析为相应的对象。

  1. Data@Serializable

这两个函数Json.parse()Data.serializer()被标记为红色,因此无法识别。

我尝试使用 kotlinx-serializable 0.9.1 和 0.10.0,但徒劳无功

我忘记了什么?

0 投票
1 回答
1766 浏览

android - 有没有更好的方法来处理 kotlinx 序列化?

kotlinx.serialization在 Kotlin 原生项目上使用,我Super class为我的模型定义了一个,所有模型都从它扩展而来。我定义了一个function要求toJSON()序列化模型内部的变量和字段的方法,所有类模型都有它。

我创建了一个子类

但是当我调用IDE 时JSON.stringify(this),IDE 会向我发出警告:

这个声明是实验性的,它的使用必须用 '@kotlinx.serialization.ImplicitReflectionSerializer' 或 '@UseExperimental(kotlinx.serialization.ImplicitReflectionSerializer::class)' 标记

我注意了,我@ImplicitReflectionSerializer在没有工作的时候使用了注释。我的问题在哪里?

0 投票
2 回答
749 浏览

json - 如何在 Kotlin 本机上通过 Kotlinx 序列化创建嵌套 JSON

我通过 Kotlin 多平台创建了一个共享库,我使用Kotlin Serialization库进行序列化和反序列化,我Graph QL在我的项目上实现,我使用下面的结构

为了与 进行通信API,现在我有一个问题,我应该将 a 填写Json为by,Object但是当我填写为 String 并获得例外时,我找不到解决方法。variablesKotlinx.SerializationvaribalesAPI

如何通过 Kotlinx.Serialization 创建嵌套的 Json?

0 投票
2 回答
2485 浏览

android - kotlinx.serialization - 序列化 ArrayList作为具有自定义 DateSerializer 的数据类变量

我需要使用自定义 DateSerializer 将 ArrayList 序列化为数据类变量,使用单个日期变量我使用注释:

有人知道如何为日期数组列表做这件事吗?

0 投票
2 回答
2839 浏览

json - 使用 Kotlinx.Serialization 解析嵌套的 JSON

我一直在玩 Kotlinx.serialization,我一直在尝试解析一个子字符串:

给定一个像这样的 JSON:

我的代码是这样的:

显然,Json.nonstrict.parse(SomeClass.serializer(), rawString)会失败,因为“SpaceShip”和“Mark”这对不在 JSON 的根目录中。

如何让序列化程序引用 JSON 的子树?

PS:你会推荐改造吗(因为它更老,也许更成熟)?

0 投票
1 回答
2327 浏览

json - Kotlinx.Serializer - 创建一个快速的 JSON 发送

我一直在玩 Kotlinx.serialisation。我一直在尝试找到一种快速的方法来使用 Kotlinx.serialisation 创建一个简单的 JSON(主要是为了发送它),并且代码混乱最少。

对于一个简单的字符串,例如:

我一直在做的是这样的:

这远非美好。我的元素大多是原始的,所以我希望我有类似的东西:

此外,我很高兴有一个嵌套 JSON 的解决方案。就像是:

那会产生:

(不一定美化,最好不要)

有这样的吗?

注意:使用序列化程序很重要,而不是直接字符串,例如

因为连接字符串是不安全的。任何非法字符都可能分解 JSON!我不想处理转义非法字符:-(

谢谢

0 投票
1 回答
356 浏览

python - 从 Python JSON 迁移到 Kotlin JVM JSON

我有使用import json和使用的现有 Python 程序

读取 json 并将其以易于使用的可访问字典的代码呈现的方法。

我使用 pythonjson[name][] = value构造来引用内存中的 json 数据,并使用相同类型的语法为 json 元素分配新值。

我想将 Python 代码迁移到 Kotlin 并寻找 JSON 库,这些库将做一些接近 Python json.load() 在 Kotlin 中所做的事情。

我确实使用了 Google,但没有找到任何东西,有很多 Kotlin/Java JSON 库,但我认为它们没有提供像 Python JSON 加载方法这样的东西。

我最好使用的选择库是什么?

这是 Python 代码详细信息,我想在 Kotlin 中做同样的事情并使用现有的 JSON 库。

js文件的内容是这样的:

这里是 Python 如何使用 [] 和 range 访问上面的 json 文档

我希望这能澄清我试图将我的 Python 代码迁移到 Kotlin 的方法。

0 投票
1 回答
6276 浏览

json - 将 JSON 数组解析为 Map使用 Kotlinx.serialization

我正在编写一个 Kotlin 多平台项目 (JVM/JS),我正在尝试使用 Kotlinx.serialization 将 HTTP Json 数组响应解析为 Map

JSON是这样的:

到目前为止,我能够将该 JSON 作为字符串,但我找不到任何文档来帮助我构建地图或其他类型的对象。所有这些都说明了如何序列化静态对象。

我不能使用@SerialName,因为密钥不固定。

当我尝试返回 aMap<String, String>时,我收到此错误:

最后,我想得到 aMap<String, String>或 aList<MyObject>我的对象可能在的地方MyObject(val id: String, val value: String)

有没有办法做到这一点?否则我只想写一个字符串阅读器来解析我的数据。

0 投票
3 回答
5928 浏览

android - X 类不是抽象的,也没有实现 android.os.Parcelable 中定义的 fun writeToParcel()

在我的 Android 应用程序中,我想将包含下述Place对象的 Bundle 添加到我的 Intent 中。由于可序列化很慢且不推荐,因此我更喜欢 Parcelable。

尽管我使用 Kotlin 1.3.31,但我在打包一些数据类时遇到了问题。例子:

和 Android Studio 抱怨:

类“Place”不是抽象的,也没有实现抽象成员 public abstract fun writeToParcel(p0: Parcel!, p1: Int): Unit defined in android.os.Parcelable

根据一些教程

就是这样!您不再需要编写任何包裹方法!

https://android.jlelse.eu/yet-another-awesome-kotlin-feature-parcelize-5439718ba220

我不想使用

在生产的东西。

我在这里有什么选择?