How to get a json file from raw folder?
InputStream is = getResources().openRawResource(R.raw.json_file);Writer writer = new StringWriter();char[] buffer = new char[1024];try { Reader reader = new BufferedReader(new InputStreamReader(is, "UTF-8")); int n; while ((n = reader.read(buffer)) != -1) { writer.write(buffer, 0, n); }} finally { is.close();}String jsonString = writer.toString();
ObjectMapper.readValue
also take InputStream
as source . Get InputStream
using openRawResource
method from json file and pass it to readValue
:
InputStream in = getResources().openRawResource(R.raw.user);User user = mapper.readValue(in, User.class);
Kotlin way :
val raw = resources.openRawResource(R.raw.posts) val writer: Writer = StringWriter() val buffer = CharArray(1024) raw.use { rawData -> val reader: Reader = BufferedReader(InputStreamReader(rawData, "UTF-8")) var n: Int while (reader.read(buffer).also { n = it } != -1) { writer.write(buffer, 0, n) } } val jsonString = writer.toString()