From 05a4d4e188c1242b72675332df77bcc0769841a3 Mon Sep 17 00:00:00 2001 From: Vikas Ramsingh Rajput Date: Sun, 24 May 2020 10:33:17 +0300 Subject: [PATCH 1/2] BAEL-3067: Article - Convert BufferedReader to JSONObject - Completed --- .../core-java-io-conversions-2/pom.xml | 5 ++ ...avaBufferedReaderToJSONObjectUnitTest.java | 48 +++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 core-java-modules/core-java-io-conversions-2/src/test/java/com/baeldung/bufferedreadertojsonobject/JavaBufferedReaderToJSONObjectUnitTest.java 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 e95d1f4b67..7a83d4b502 100644 --- a/core-java-modules/core-java-io-conversions-2/pom.xml +++ b/core-java-modules/core-java-io-conversions-2/pom.xml @@ -22,6 +22,11 @@ commons-lang3 ${commons-lang3.version} + + org.json + json + 20190722 + 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..d42c3975db --- /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 givenUsingNewVersion_whenConvertBufferedReaderToJSONObject_thenCorrect() { + 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 givenUsingOldVersion_whenConvertBufferedReaderToJSONObject_thenCorrect() 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")); + } +} From 11d0ab1b4984095d52a379c16aad81d19af2a7fe Mon Sep 17 00:00:00 2001 From: Vikas Ramsingh Rajput Date: Tue, 26 May 2020 12:59:40 +0300 Subject: [PATCH 2/2] BAEL-3067: Changed method name and added latest maven dependency of org.json --- core-java-modules/core-java-io-conversions-2/pom.xml | 2 +- .../JavaBufferedReaderToJSONObjectUnitTest.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) 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 7a83d4b502..c1148509f3 100644 --- a/core-java-modules/core-java-io-conversions-2/pom.xml +++ b/core-java-modules/core-java-io-conversions-2/pom.xml @@ -25,7 +25,7 @@ org.json json - 20190722 + 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 index d42c3975db..80007e9c2f 100644 --- 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 @@ -17,7 +17,7 @@ import org.junit.Test; public class JavaBufferedReaderToJSONObjectUnitTest { @Test - public void givenUsingNewVersion_whenConvertBufferedReaderToJSONObject_thenCorrect() { + 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)); @@ -30,7 +30,7 @@ public class JavaBufferedReaderToJSONObjectUnitTest { } @Test - public void givenUsingOldVersion_whenConvertBufferedReaderToJSONObject_thenCorrect() throws IOException { + 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));