问题标签 [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.
android - Moshi 改造错误:“应为字符串,但为 BEGIN_OBJECT”
我像这样构建了我的改造实例:
然后我像这样调用我的MockWebServer实例:
jsonStr是这样构建的:
但是,此时代码崩溃:
例外是:
com.squareup.moshi.JsonDataException:应为字符串,但路径 $ 处为 BEGIN_OBJECT
我做错了什么?
java - Moshi - 解析未知的 json 键
如何使用 moshi 解析具有在编译时未知的键的 json 结构:
我尝试使用@FromJson
适配器,JSONObject
但日志只是说 json 是空的{}
(我期望的地方{"unknownKey1": { ... etc ...}
)
一旦我可以在 json inside 栏中,我可以手动迭代它以添加到列表或其他东西(因为我不知道会有多少项目)。
像这样使用它:
我还必须添加LinkedHashMapConverter
以安抚moshi 神,但是向其中添加日志,它的方法永远不会被调用(这可能是我真正的 json 的一个单独问题)。
有任何想法吗?
android - Moshi HashMap 反序列化器
我不知道是否可以将数组反序列化为 hashMap 我有 json :
对于那个json,我有列表:
一切都很完美,但是如何将该 json 存储在 HashMap 中,其中 Key 是“key”(TerminalName)”
java - Moshi JSON 解析
今晚尝试使用 Square 的 JSON 解析库“Moshi”。这是我的基本尝试,反映了他们 README 中的一个示例。无论我尝试什么,我都没有让它工作!我会很感激更多的眼睛/任何想法。
json - 用 Moshi 解析多态孩子
我在这里问是因为我认为这与 Moshi GitHub 问题无关。
我有卡片json变体 #1:
和变体 #2:
这是我的通用 JSON 适配器代码:
所以通过卡片type
,我已经知道如何解析data
对象。但我不知道如何在数据中获得通用的东西。我无法将类型设置为,String
因为Moshi崩溃了BEGIN_OBJECT not expected error
,我不能说它也因第二个jsonMap<String, Object>
的错误而失败。并且不会因解析而崩溃,但解析后完全为空。JsonObject
我还找不到任何东西,所以我在征求你的意见
java - int 属性的序列化呈现为双重?
我有一个带有 type 属性的基本 POJO int
。
...
@Json(name = "partner_id") int partner_id = 1;
...
序列化后,它在 JSON 中记录为:
...
"partner_id":1.0
...
double
如果我希望发送partner_id
as ,如何防止转换为int
它的建模方式?
更新。我正在使用moshi-jsonapi,这是Square 的 Moshi的json:api兼容分支。
java - 导入 retrofit2.converter 无法解决
我无法解决错误 -导入 retrofit2.converter 无法解决
我正在使用 Eclipse Mars 并添加以下 JAR 文件作为外部 JAR
改造-2.1.0.jar moshi-1.2.0.jar
它解决了“import retrofit2.Retrofit;” ..但无法解决“import retrofit2.converter.moshi.MoshiConverterFactory;”
我没有使用 Maven .. 只是添加 JAR 文件 .. 有什么想法吗?
谢谢,
贾格迪什
java - Base64 解码然后用 Moshi 反序列化 json 到 pojo
我有以下 json 有效负载:
value Json 键foo2
的值是 base64 编码的 Json 字符串。例如,当 的值为foo2
Base64.decoded() 时,上面的 Json 将如下所示:
当前解决方案
客户端代码如下所示:
有更好的解决方案吗?
我想知道是否可以避免AnimalSoundAdapter
需要 Moshi 的实例。
java - Moshi 1.2.0 从/到 JSON 的 HashMap 列表转换失败
我想将我的代码从 GSon 迁移到 MOSHI 以获得 OK-Libraries 的常见底层用法的好处,因为我也在使用 OKHTTP 和 Retrofit。
但是对于 Gson 来说很简单的任务,对于 MOSHI 来说似乎很复杂:
我有一个包含对象列表的类。
这些对象由字段名/值对组成——我将其实现为 HashMap。在这个类中有更多的构造函数和方法,但对于 JSON,只有字段/值对是相关的。
精简到最低限度,我的 JSON 应该如下所示:
当我尝试使用 MOSHI 将这些类转换为 JSON 并返回时,孩子是空的。
转换为 JSON 给出
并且从上面到 Class2 的 json-string 的反序列化给出了 2 个孩子,但孩子是空的。
在我的真实代码中,我的父对象还包含其他类的对象列表——这些类按预期工作。这里的问题似乎是我的子类是从 HashMap 扩展而来的。
使用 Gson,一切都按预期工作。
这是单元测试,我写来测试行为。
retrofit - 如果我已经在我的项目中使用了 okhttp3、Moshi 和 Rxjava,那么改造是否有用?
我对上述库进行了一些研发,并在我的项目中使用了一些。我在我的项目中使用 Moshi 进行 json 解析,使用 OkHttp3 库进行 http 连接,使用 Rxjava 进行异步和基于事件的编程。现在当我看改造时,我觉得它没有用,因为我自己已经使用了改造的上述主要组件。只是想知道人们的想法,无论我是否朝着正确的方向思考。
编辑:从我的角度来看,Retrofit 只提供干净的 http 客户端界面,可以自定义请求、标头等带有注释。