2017-03-31 2 views
0

私は、Webサービスからjson形式の応答をArrayList<Stop>オブジェクトに変換しようとしています。json応答をArrayList <Object>に変換するときにgsonライブラリの整数値をゼロに設定するのはなぜですか?

jsonレスポンスをJavaオブジェクトに変換する前に、データベースが適切な方法ですべてのデータを取得していることを確認しました。下の画像を参照してください。 JSONレスポンスを変換し、私はすべての整数フィールドの値がゼロに設定されていることに気づいたAndroidアプリケーションをデバッグした後しかしながら

enter image description here

。 フィールドstopIdjourneyIdは、データベースにそれぞれPRIMARY_KEYFOREIGN_KEYに対応しています。

enter image description here

これは私がこれを行うために書いたコードのsnipetです。 enter image description here

ご協力いただきありがとうございます。

+1

シリアル化する名前が一致しません。 jsonキーの名前を調べると、stopIdと書くのに対し、モデルの 'Stop'クラスではstop_idを書くのに対し、' Stop'クラスで変数に別の名前を使用するには '@SerialzeName(" key ")'を使い、その下に変数を宣言しています –

答えて

1

モデルクラスを変更stop_idからstopIdおよびjourney_idからjourneyIdに変更してください。または、必要に応じてGsonを設定してください。

Gson gson = new GsonBuilder().setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE).create(); 
String jsonRepresentation = gson.toJson(someObject); 
System.out.println(jsonRepresentation); 
+0

優秀、ありがとうございます。最初の解決策は私のために働いた。もう1つは試してみませんでしたが、有効だと思います。 – Sandoval0992