问题标签 [moshi]
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.
kotlin - POJO字段声明,设置为init值或null
在我的 POJO 中,我通常会像这样声明字段
如果我这样声明,我将需要检查该字段是否为空。
但如果是这样:
我可以直接使用它。
使用哪个声明有关系吗?就像在内存、性能或其他方面的好习惯一样?
假设我有 100 个字段。然后我使用 Moshi 或 Gson 作为反序列化器。
moshi - 如何通过 Moshi 将对象序列化为 Map
我想通过 Moshi 将对象序列化为 Map。这是我的 Gson 代码
以及如何由 Moshi 编写?
android - 使用 Moshi 处理损坏的服务器响应
来自服务器的预期 json 响应应该是:
服务器返回 json 与此:
无论如何要处理这个损坏的 json 响应?在我从 Gson 切换之前,教师对象仍将被反序列化,只是它将为空。通过使用 Moshi,会抛出错误,我无法继续处理正确序列化的其他 json。
作者回复请参考链接。
android - Android Kotlin 中的 Moshi - ENUM 作为 MutableMap 键在反序列化时被转换为字符串
我有一个MutableMap<CryptoTypes, CurrentTradingInfo>
我想保存的,onSaveInstanceState
并且打算使用 Moshi 来回转换。 CryptoTypes is an ENUM
数据正在正确序列化,但是当它被反序列化时,它反而给了我一个MutableMap<String, CurrentTradingInfo>
?
当我在序列化之前在 studio 中查看我的tickerData 地图时,它显然将 ENUM 存储为 ENUM
这是反序列化后的地图[注意地图是无序的,我不得不再次重新运行它,因此地图键的顺序不同]
它如何能够给我一个错误输入的地图?难道我做错了什么?
当我尝试访问转换后的地图时,由于类型错误,它会因以下内容而崩溃
如果我创建两个变量
我不能去tickerDataA = tickerDataB
,它显示为类型不匹配,不会让我按应有的方式编译。
android - KotlinReflectionInternalError 数据类
尝试在改造服务中使用数据类作为结果类型时收到以下错误。
老实说,我什至不确定这个错误是什么意思,也没有找到很多关于它的资源。类描述相当模糊:
Kotlin 反射已达到无法恢复的不一致状态的信号。
唯一使用反射的地方是在 Moshi 内,但我不知道是什么导致了这个问题。
代码
这是数据类:
AuthenticationService
:_
我使用 Moshi 作为 JSON 转换器,我已经KotlinJsonAdapterFactory
将Moshi.Builder
.
更新
通过尝试AuthenticationResponse
直接使用 Moshi 创建适配器,我可以可靠地重现错误。
KotlinReflectionInternalError
上面的代码在尝试创建adapter
值时同样失败。
json - Moshi 忽略 Kotlin 中的字段
我想知道在使用 Moshi 时如何忽略 Kotlin 类字段。
我找到了 Java 的这个答案(Moshi ignore field),这表明使用关键字 transient 如下
但是我找不到在 Kotlin 中完成这项工作的正确方法。
json - 使用 moshi 反序列化 JSON API 响应
在对响应进行反序列化后,我得到了一个null
对象属性。json
在android下开发,我使用retrofit2
moshi作为转换器(https://github.com/kamikat/moshi-jsonapi)。调试时,我看到json
完全检索到响应(不是空属性),但反序列化失败。我应该GSON
改用吗?
这是我用来json
打电话的改造建造者:(没问题)
我的api
json
电话,响应包含 UserModel
属性null
(反序列化失败,没有任何错误)
我的UserModel
(按照 moshi 的要求,但我认为它缺少一些东西):
我json
在调试 http 响应时看到的响应,我没有任何麻烦地检索,但是 moshi 很糟糕地反序列化它,并且没有引发错误:
java - TypeParameter 作为表达式参数
我想创建一个帮助类来帮助我将任何对象序列化为 json,反之亦然。我试图谷歌但没有任何相关。也许我不知道要搜索的正确术语是什么。这是我到目前为止所做的工作..
如果我想做的事情没有用,我是否必须在我的每一堂课上做toJson()
和做?fromJson
java - moshi 如何访问私有字段?
我有以下模型类:
我正在使用以下代码解析 Json:
所以在这里我可以设置私有字段,即使它是私有的并且也没有设置器。
这怎么可能?moshi 如何设置私有字段?
java - 使用损坏的远程 API 解析 json
这是我的模型课
data class Article(
val id: Int? = 0,
val is_local: Boolean? = false,
val comments: List<Comment?>? = listOf())
这是json
我正在使用此自定义适配器返回默认值以防解析错误,例如我的情况是is_local字段
并且我的测试失败并且布尔值不为假我已将上述适配器添加到 moshi
但是当我将模型类中 is_local 字段的数据类型更改为不可为空时,它可以工作