私はAWS JSONObject
classを使用しています。のは、私はそうのようなJSONObject
オブジェクトを定義しましょう:JSONObjectをバイト配列に変換し、元のJSONObjectを取得するためにこのバイト配列を変換するにはどうすればよいですか?
JSONObject obj = new JSONObject();
obj.put("Field1": 35);
JSONObject nestedObj = new JSONObject();
nestedObj.put("Name1":"value1");
nestedObj.put("Name2":42);
obj.put("Field2": nestedObj);
のでJSONObjectは、次のようになります。
{"Field1": 35,
"Field2": {"Name1": "value1",
"Name2": 42}
}
私はこのJSONObject
を取り、何とかバイト配列に変換したい:
byte[] objAsBytes = convertToBytes(obj);
ここで、convertToBytes
はこれを正しく行う機能です。次に、このバイト配列を元のJSONObject
に戻して元の構造をそのまま保持したいと思います。
誰でもこれを行う方法を知っていますか?私はAmazon Kinesisを使用しています。具体的にはPutRecord
APIとPutRecordRequest
にはデータがByteBuffer
である必要がありますので、JSONObject
をバイト配列に変換してから、ByteBuffer
。次に、レコードを取得するときに、ByteBuffer
をバイト配列に変換して元のJSONObjectを取得する必要があります。
@Pillar申し訳ありません、私は 'JSONObject'の使用経験はありません。 'JSONObject'を文字列として表現し、その文字列を文字列変換にバイト配列を使って' JSONObject'の元の構造体を保存する必要があるのではないかと思いますか? – Drew
ええ 'JSONObject'には、JSONのテキスト形式の' String'表現を与える 'toString'メソッドがあります。また、JSONの 'String'を引数として受け取り、テキストから' JSONObject'に変換するコンストラクタも必要です。 – Savior
JSONは単なるStringなので、JSONObjectはその文字列の表現に過ぎません。文字列のbyte []を取得した場合、いつでもオブジェクトを元に戻すことができます。 – dambros