diff --git a/hutool-core/src/main/java/cn/hutool/v7/core/io/CharSequenceReader.java b/hutool-core/src/main/java/cn/hutool/v7/core/io/CharSequenceReader.java index d0aa780a31..bbe3a82ccc 100644 --- a/hutool-core/src/main/java/cn/hutool/v7/core/io/CharSequenceReader.java +++ b/hutool-core/src/main/java/cn/hutool/v7/core/io/CharSequenceReader.java @@ -44,6 +44,15 @@ public class CharSequenceReader extends Reader { */ private int mark; + /** + * 构造 + * + * @param str {@link CharSequence} + */ + public CharSequenceReader(final CharSequence str) { + this(str, 0, Assert.notNull(str).length()); + } + /** * 构造 * diff --git a/hutool-json/src/main/java/cn/hutool/v7/json/reader/JSONTokener.java b/hutool-json/src/main/java/cn/hutool/v7/json/reader/JSONTokener.java index 0e03a76d28..80bc4215ba 100644 --- a/hutool-json/src/main/java/cn/hutool/v7/json/reader/JSONTokener.java +++ b/hutool-json/src/main/java/cn/hutool/v7/json/reader/JSONTokener.java @@ -16,6 +16,7 @@ package cn.hutool.v7.json.reader; +import cn.hutool.v7.core.io.CharSequenceReader; import cn.hutool.v7.core.io.IoUtil; import cn.hutool.v7.core.io.ReaderWrapper; import cn.hutool.v7.core.lang.Assert; @@ -27,7 +28,6 @@ import cn.hutool.v7.json.JSONException; import java.io.IOException; import java.io.InputStream; import java.io.Reader; -import java.io.StringReader; /** * JSON解析器
@@ -93,7 +93,7 @@ public class JSONTokener extends ReaderWrapper { * @param ignoreZeroWithChar 是否忽略零宽字符 */ public JSONTokener(final CharSequence s, final boolean ignoreZeroWithChar) { - this(new StringReader(Assert.notBlank(s).toString()), ignoreZeroWithChar); + this(new CharSequenceReader(Assert.notBlank(s)), ignoreZeroWithChar); } /**