参见英文答案 >
Convert a String to a byte array and then back to the original String 5个
我正在使用
AWS JSONObject class.假设我定义了一个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.