0

JSON をカスタム Bean に逆シリアル化する場合 (ブール フィールドが 1 つであっても、Bean が何であるかは関係ありません)、sqlite テーブルからのブール値 red が適切に処理されません。

sqlite の規則に従って、JSON ではブール値は整数値 (false の場合は 0、それ以外の場合は true) として表示されます。

適切なパラメーターを指定して fromJson メソッドを呼び出すと、JSON 値が 1 の場合でも、ブール値は常に false として逆シリアル化されます。

この回答と相対的なextern linkを見つけました。実装が複雑であるため、テストしていません (実際に問題と一致するかどうかはわかりません)。

私はそれを行うためのより軽い解決策を探しています。

ありがとう、LF

4

1 に答える 1

0

true と false を文字列 "y" と "n" に置き換えて、それをシリアル化できます。逆シリアル化の後、逆変換が必要になります。これはおそらく前述のソリューションと同等ですが、他の人のコードを再利用する必要はありません。

別のオプションは、データ構造で boolean-s の代わりに int-s を使用することです。

于 2013-09-26T09:31:48.993 に答える