diff --git a/core-java-modules/core-java-io-conversions-2/pom.xml b/core-java-modules/core-java-io-conversions-2/pom.xml
index 5312ad645d..46bce7988b 100644
--- a/core-java-modules/core-java-io-conversions-2/pom.xml
+++ b/core-java-modules/core-java-io-conversions-2/pom.xml
@@ -21,6 +21,11 @@
commons-lang3
${commons-lang3.version}
+
+ org.json
+ json
+ 20200518
+
diff --git a/core-java-modules/core-java-io-conversions-2/src/test/java/com/baeldung/bufferedreadertojsonobject/JavaBufferedReaderToJSONObjectUnitTest.java b/core-java-modules/core-java-io-conversions-2/src/test/java/com/baeldung/bufferedreadertojsonobject/JavaBufferedReaderToJSONObjectUnitTest.java
new file mode 100644
index 0000000000..80007e9c2f
--- /dev/null
+++ b/core-java-modules/core-java-io-conversions-2/src/test/java/com/baeldung/bufferedreadertojsonobject/JavaBufferedReaderToJSONObjectUnitTest.java
@@ -0,0 +1,48 @@
+package com.baeldung.bufferedreadertojsonobject;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.io.BufferedReader;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.nio.charset.StandardCharsets;
+
+import org.json.JSONObject;
+import org.json.JSONTokener;
+import org.junit.Test;
+
+public class JavaBufferedReaderToJSONObjectUnitTest {
+
+ @Test
+ public void givenValidJson_whenUsingBufferedReader_thenJSONTokenerConverts() {
+ byte[] b = "{ \"name\" : \"John\", \"age\" : 18 }".getBytes(StandardCharsets.UTF_8);
+ InputStream is = new ByteArrayInputStream(b);
+ BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(is));
+ JSONTokener tokener = new JSONTokener(bufferedReader);
+ JSONObject json = new JSONObject(tokener);
+
+ assertNotNull(json);
+ assertEquals("John", json.get("name"));
+ assertEquals(18, json.get("age"));
+ }
+
+ @Test
+ public void givenValidJson_whenUsingString_thenJSONObjectConverts() throws IOException {
+ byte[] b = "{ \"name\" : \"John\", \"age\" : 18 }".getBytes(StandardCharsets.UTF_8);
+ InputStream is = new ByteArrayInputStream(b);
+ BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(is));
+ StringBuilder sb = new StringBuilder();
+ String line;
+ while ((line = bufferedReader.readLine()) != null) {
+ sb.append(line);
+ }
+ JSONObject json = new JSONObject(sb.toString());
+
+ assertNotNull(json);
+ assertEquals("John", json.get("name"));
+ assertEquals(18, json.get("age"));
+ }
+}