JSONからInteger
の代わりにLong
を取得するにはどうすればよいですか?
JavaプログラムでJSONを読み取りたいのですが、数値であるJSON値を取得すると、パーサーはLong
型の数値を返します。
Integer
を取得したい。 longを整数にキャストしようとしましたが、JavaはClassCastException
をスローします(_Java.lang.Long
_は_Java.lang.Integer
_にキャストできません)。
最初にlongを文字列に変換し、次にInteger.parseInt();
で変換するなど、いくつかのことを試しましたが、それも機能しません。
私は使用しています json-simple
編集:
私はまだそれを動作させることができません。次に例を示します。jsonItem.get( "amount"); //オブジェクトを返します
私がすることができます:
_(long)jsonItem.get("amount");
_
しかし、これではありません:
_(int)jsonItem.get("amount");
_
私もそれを変換することはできません
_Integer newInt = new Integer(jsonItem.get("amount"));
_
または
_Integer newInt = new Integer((long)jsonItem.get("amount"));
_
Long
とInteger
はオブジェクトクラスであり、long
とint
はプリミティブデータ型であることを理解してください。後者の間で自由にキャストできますが(上位ビットが失われる可能性があります)、前者の間で実際の変換を行う必要があります。
Integer newInt = new Integer(oldLong.intValue());