問題タブ [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 Retrofit エラー: 「文字列が必要ですが、BEGIN_OBJECT でした」

Retrofit インスタンスを次のように構築しました。

次に、次のようにMockWebServerインスタンスを呼び出しています。

jsonStrはのように構築されます。

ただし、コードはこの時点でクラッシュします。

例外は次のとおりです。

com.squareup.moshi.JsonDataException: 文字列が必要でしたが、パス $ で BEGIN_OBJECT でした

私は何を間違えましたか?

0 投票する
1 に答える
2945 参照

java - Moshi - 不明な json キーを解析する

コンパイル時に不明なキーを持つ json 構造を moshi で解析するにはどうすればよいですか。

@FromJsonのアダプターを使用してみましJSONObjectたが、ログにはjsonが空であるとだけ表示されます{}(私が期待する場所{"unknownKey1": { ... etc ...})

バー内の json にたどり着いたら、それを手動で反復してリストなどに追加できます (アイテムがいくつあるか分からないため)。

次のように使用します。

LinkedHashMapConverterモシの神々をなだめるために も追加する必要がありましたが、ログを追加すると、そのメソッドは呼び出されません (これは、実際の json とは別の問題である可能性があります)。

何か案は?

0 投票する
1 に答える
933 参照

java - インポート retrofit2.converter を解決できません

エラーを解決できません -インポート retrofit2.converter を解決できません

私はEclipse Marsを使用しており、次のJARファイルを外部JARとして追加しました

retrofit-2.1.0.jar moshi-1.2.0.jar

「import retrofit2.Retrofit;」を解決します。..しかし、「import retrofit2.converter.moshi.MoshiConverterFactory;」を解決できません。

私はMavenを使用していません..しかし、JARファイルを追加するだけです..何か考えはありますか?

ありがとうございました、

ジャグディッシュ語

0 投票する
1 に答える
1559 参照

java - Moshi 1.2.0 で JSON との間の HashMap のリストの変換が失敗する

OKHTTP と Retrofit でもこれを使用しているため、OK-Libraries の一般的な基本的な使用法の利点を得るために、GSon から MOSHI にコードを移行したいと考えています。

しかし、Gson では単純なタスクが、MOSHI では複雑に見えます。

オブジェクトのリストを含むクラスがあります。

そして、これらのオブジェクトはフィールド名と値のペアで構成されています - 私はそれを HashMap として実装しました。このクラスにはさらにいくつかのコンストラクターとメソッドがありますが、JSON の場合はフィールドと値のペアのみが関連します。

私の JSON は次のようになります。

これらのクラスを MOSHI で JSON に変換して戻すと、子が空になります。

JSONへの変換は

上記から Class2 への json-string の逆シリアル化により、2 つの子が生成されますが、子は空です。

私の実際のコードでは、その親オブジェクトには他のクラスのオブジェクトのリストも含まれています-これらのクラスは期待どおりに機能します。ここでの問題は、私の子クラスが HashMap から拡張されていることです。

Gson を使用すると、すべてが期待どおりに機能します。

これが単体テストです。動作をテストするために書きました。

0 投票する
1 に答える
158 参照

retrofit - プロジェクトで既に okhttp3、Moshi、および Rxjava を使用している場合、レトロフィットは役に立ちますか?

上記のライブラリでいくつかの研究開発を行い、プロジェクトでいくつか使用しました。プロジェクトでは、json 解析に Moshi、http 接続に OkHttp3 ライブラリ、非同期およびイベント ベースのプログラミングに Rxjava を使用しています。今、レトロフィットを見たとき、私は自分自身でレトロフィットの主要なコンポーネントをすでに使用していたので、役に立たないと感じました. 私が正しい方向に考えているかどうかにかかわらず、人々の考えを知りたいだけです.

編集:私の観点からは、レトロフィットは、リクエスト、ヘッダーなどを注釈でカスタマイズできるhttpクライアントのクリーンなインターフェースのみを提供します。