AWS JSONObject
class kullanıyorum.JSONObject öğelerini bir bayt dizisine nasıl dönüştürebilirim ve sonra orijinal JSONObject öğesini geri almak için bu bayt dizisini dönüştürürüm?
byte[] objAsBytes = convertToBytes(obj);
: Bu
JSONObject
almak ve bir şekilde, bir bayt dizisine dönüştürmek istediğiniz
{"Field1": 35,
"Field2": {"Name1": "value1",
"Name2": 42}
}
: gibi
JSONObject obj = new JSONObject();
obj.put("Field1": 35);
JSONObject nestedObj = new JSONObject();
nestedObj.put("Name1":"value1");
nestedObj.put("Name2":42);
obj.put("Field2": nestedObj);
Yani JSONObject nesnesi görünür: ı bir JSONObject
nesne şöyle tanımlamak diyelim
Burada convertToBytes
, bunu doğru yapan bazı işlevlerdir. Daha sonra bu bayt dizisini alıp orijinal yapısına geri döndürmek için orijinal JSONObject
'a geri dönüştürmek istiyorum.
Bunu nasıl yapacağını bilen var mı? Ben bunu yapmak istiyorum Amazon Kinesis ve daha özel olarak PutRecord
API kullanıyorum ve PutRecordRequest
veri ByteBuffer
olması gerekir, bu yüzden JSONObject
bir bayt dizisine dönüştürmek ve daha sonra bayt dizisini ByteBuffer
olarak sarma . Sonra, kayıt aldığımda, ByteBuffer
bir bayt dizisine dönüştürmem ve daha sonra özgün JSONObject'i almam gerekir.
@Pillar Üzgünüm 'JSONObject' kullanma konusunda deneyimli değilim. “JSONObject” i sadece bir String olarak temsil edip String dizisini Dize dönüşümlerine dize olarak kullanıp, JSONObject öğesinin orijinal yapısını korumalı mıyım diye ima ediyor musunuz? – Drew
Evet 'JSONObject', JSON'un metinsel' String' temsilini verecek bir 'toString' yöntemine sahiptir. Ayrıca, bir JSON 'String'in argüman olarak kabul edilmesini ve metinden 'JSONObject''e dönüştürülmesini sağlayan bir kurucuya da sahip olmalıdır. – Savior
JSON sadece bir String'dir, bu nedenle JSONObject, sözü edilen dizinin bir temsilinden başka bir şey değildir. Dizenin baytını [] alırsanız, her zaman nesneyi geri oluşturabilirsiniz. – dambros