問題タブ [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.
java - 数値クラス名を持つ JSON からの GSON
サーバーからの JSON 文字列があり、それを制御できません。
jsonschema2pojo ライブラリーをプログラムで使用して Java クラスを生成しました。
GSON を使用して、JSON を Java オブジェクトに逆シリアル化しています。
JSON の例を次に示します。
その「50」サブクラスは、実際には、同様に数字として名前が付けられている 18 のクラスのうちの 1 つにすぎません。
jsonschema2pojo が Java クラスを生成するとき、理解できるように、クラス名を作成するために先頭にアンダースコアが追加されます (つまり、_50)。
jsonschema2pojo は、次のメンバーで DescriptionById クラスを生成します。
@JsonProperty("50")
private com.me.models._50 _50;
ゲッターは次のようになります (セッターも同様です)。
@JsonProperty("50")
public com.me.models._50 get50() {
return _50;
}
私はこのようにGSONを使用しています:
Gson gson = new GsonBuilder().setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES).create();
しかし、GSON の実行後、_50 オブジェクトとその他の 17 オブジェクトはすべて null であり、JSON 内の対応するスポットが実際に実際の値で埋められていることを確認しました。
このチェーンに沿って、問題を手動でハックすることなく適切に機能させるためにできることはありますか?
android - Retrofit を使用して Google マップから緯度と経度を取得できません
Model クラスとその内部のインターフェースを定義しました。コードは次のとおりです。
私の改造ジェネレーターは次のとおりです。
私が抱えている問題は、メソッドを呼び出すと、queryAddress
null が返されるように見えることです。http://www.jsonschema2pojo.org/を使用して取得した json 結果の POJO オブジェクトを作成しました。完全なコードと POJO クラスのクラスはこちらで確認できます。表示されるエラーは次のとおりです
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Double sematec.mehdi.mymap.webmodels.Location.getLat()' on a null object reference
。okhttp ログに正しい json 応答が表示されるため、要求は正しいと思います。つまり、犯人は別の場所にいます。誰かが私が間違っている場所を知っていますか?