I'm trying to figure out how one goes about retrieving the raw bytes stored in a JsonObject and turns that into an InputStream object?
I figured it might be something like:
InputStream fis = new FileInputStream((File)json.getJsonObject("data"));
Granted I haven't tried that out, but just wanted to know if anyone had any experience with this and knew the preferred way to do it?
You can convert a JSONObject
into its String
representation, and then convert that String into an InputStream
.
The code in the question has a JSONObject being cast into File
, but I am not sure if that works as intended. The following, however, is something I have done before (currently reproduced from memory):
String str = json.getJSONObject("data").toString();
InputStream is = new ByteArrayInputStream(str.getBytes());
Note that the toString()
method for JSONObject
overrides the one in java.lang.Object
class.
From the Javadoc:
Returns: a printable, displayable, portable, transmittable representation of the object, beginning with { (left brace) and ending with } (right brace).
if you want bytes, use this
json.toString().getBytes()
or write a File savedFile
contains json.toString, and then
InputStream fis = new FileInputStream(savedFile);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With