问题标签 [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.

0 投票
3 回答
8918 浏览

android - Moshi 改造错误:“应为字符串,但为 BEGIN_OBJECT”

我像这样构建了我的改造实例:

然后我像这样调用我的MockWebServer实例:

jsonStr是这样构建的

但是,此时代码崩溃:

例外是:

com.squareup.moshi.JsonDataException:应为字符串,但路径 $ 处为 BEGIN_OBJECT

我做错了什么?

0 投票
1 回答
2945 浏览

java - Moshi - 解析未知的 json 键

如何使用 moshi 解析具有在编译时未知的键的 json 结构:

我尝试使用@FromJson适配器,JSONObject但日志只是说 json 是空的{}(我期望的地方{"unknownKey1": { ... etc ...}

一旦我可以在 json inside 栏中,我可以手动迭代它以添加到列表或其他东西(因为我不知道会有多少项目)。

像这样使用它:

我还必须添加LinkedHashMapConverter以安抚moshi 神,但是向其中添加日志,它的方法永远不会被调用(这可能是我真正的 json 的一个单独问题)。

有任何想法吗?

0 投票
1 回答
4625 浏览

android - Moshi HashMap 反序列化器

我不知道是否可以将数组反序列化为 hashMap 我有 json :

对于那个json,我有列表:

一切都很完美,但是如何将该 json 存储在 HashMap 中,其中 Key 是“key”(TerminalName)”

0 投票
1 回答
1427 浏览

java - Moshi JSON 解析

今晚尝试使用 Square 的 JSON 解析库“Moshi”。这是我的基本尝试,反映了他们 README 中的一个示例。无论我尝试什么,我都没有让它工作!我会很感激更多的眼睛/任何想法。

相关文件的GitHub Gist

0 投票
1 回答
691 浏览

json - 用 Moshi 解析多态孩子

我在这里问是因为我认为这与 Moshi GitHub 问题无关。

我有卡片json变体 #1:

和变体 #2:

这是我的通用 JSON 适配器代码:

所以通过卡片type,我已经知道如何解析data对象。但我不知道如何在数据中获得通用的东西。我无法将类型设置为,String因为Moshi崩溃了BEGIN_OBJECT not expected error,我不能说它也因第二个jsonMap<String, Object>的错误而失败。并且不会因解析而崩溃,但解析后完全为空。JsonObject

我还找不到任何东西,所以我在征求你的意见

0 投票
1 回答
284 浏览

java - int 属性的序列化呈现为双重?

我有一个带有 type 属性的基本 POJO int

... @Json(name = "partner_id") int partner_id = 1; ...

序列化后,它在 JSON 中记录为:

... "partner_id":1.0 ...

double如果我希望发送partner_idas ,如何防止转换为int它的建模方式?

更新。我正在使用moshi-jsonapi,这是Square 的 Moshi的json:api兼容分支。

0 投票
1 回答
933 浏览

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 文件 .. 有什么想法吗?

谢谢,

贾格迪什

0 投票
0 回答
486 浏览

java - Base64 解码然后用 Moshi 反序列化 json 到 pojo

我有以下 json 有效负载:

value Json 键foo2的值是 base64 编码的 Json 字符串。例如,当 的值为foo2Base64.decoded() 时,上面的 Json 将如下所示:

当前解决方案

客户端代码如下所示:

有更好的解决方案吗?

我想知道是否可以避免AnimalSoundAdapter需要 Moshi 的实例。

0 投票
1 回答
1559 浏览

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,一切都按预期工作。

这是单元测试,我写来测试行为。

0 投票
1 回答
158 浏览

retrofit - 如果我已经在我的项目中使用了 okhttp3、Moshi 和 Rxjava,那么改造是否有用?

我对上述库进行了一些研发,并在我的项目中使用了一些。我在我的项目中使用 Moshi 进行 json 解析,使用 OkHttp3 库进行 http 连接,使用 Rxjava 进行异步和基于事件的编程。现在当我看改造时,我觉得它没有用,因为我自己已经使用了改造的上述主要组件。只是想知道人们的想法,无论我是否朝着正确的方向思考。

编辑:从我的角度来看,Retrofit 只提供干净的 http 客户端界面,可以自定义请求、标头等带有注释。