問題タブ [jsonschema2pojo]
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 - Retrofit 2.0 は、同じ POJO クラスから動的 json を解析します
私が持っているもの
私はサーバーを持っていますsuccess response
の場合Error
、同じことAPI
が返されます
どうしたの
データが JsonObject からJsonArrayに変更error scenario
されたとき
私の問題
成功応答では、すべて正常に動作します (から作成POJO class
したためsuccess response
)
エラー応答で、オブジェクトを読み取ろうとしましたが、配列が見つかりましたと言ってアプリがクラッシュします
できないこと
back-end
はすでに開発されており、ウェブサイトでも機能するため、変更できません。
私がしたこと
私はグーグルで検索し、私の問題に関連できない多くの解決策を見つけました
ポジョ
jackson - JsonからJavaオブジェクトへの逆シリアル化中に列挙型に@JsonCreatorの使用をスキップする方法は?
Enum クラス、ColorName は、ColorName json ファイルから jsonschema2pojo を使用して生成されます。そのため、デフォルトでは、Enum クラスには @JsonCreator で注釈が付けられた fromValue メソッドがデフォルトで含まれています。
このクラスが json 文字列を Java オブジェクトにデシリアライズするために使用され、json で渡された新しい/間違った Enum 値がある場合、デシリアライズは次のIllegalArgumentException()
エラーで失敗します。
ObjectMapper om = 新しい ObjectMapper(); om.configure(DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL, true);
問題は、 @JsonCreator が常に尊重されているためと思われます。これをスキップするか、不明な列挙値を無視するようにデシリアライザーに指示する方法はありますか?
android - jsonschema2pojo gradle プラグインがサブプロジェクトで Java クラスを生成しない
ルート プロジェクトとサブプロジェクト (cd ../node_modules/subproject にあります) に異なる jsonSchema2Pojo 構成を持つjsonschema2pojo Gradle プラグインを使用したReact Native Android プロジェクトがあります。
私の Android サブプロジェクトは、../node_modules にある標準の React Native モジュール ライブラリです。サブプロジェクトのルート プロジェクトで 'gradlew build' を実行すると、ルート プロジェクトでのみ Java クラスが生成されません。サブプロジェクトで Java クラスを生成するには、最初にサブプロジェクト ディレクトリに移動する必要があります。
サブプロジェクトの generateJsonSchema2PojoForDebug タスクをルート ビルドで実行できますか?