From f66803b9fdea8d0393fdd84b38fb8c54f15678fb Mon Sep 17 00:00:00 2001 From: Redkale <22250530@qq.com> Date: Wed, 22 Nov 2017 21:06:48 +0800 Subject: [PATCH] --- src/org/redkale/convert/json/JsonReader.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/org/redkale/convert/json/JsonReader.java b/src/org/redkale/convert/json/JsonReader.java index b2ab6643e..1e06a726c 100644 --- a/src/org/redkale/convert/json/JsonReader.java +++ b/src/org/redkale/convert/json/JsonReader.java @@ -482,6 +482,16 @@ public class JsonReader extends Reader { if (text0.length > currpos + 4) { char ch = text0[currpos + 1]; if (ch == ',' || ch <= ' ' || ch == '}' || ch == ']' || ch == ':') return null; + final int start = currpos - 3; + for (;;) { + if (currpos >= text0.length) break; + ch = text0[currpos]; + if (ch == ',' || ch <= ' ' || ch == '}' || ch == ']' || ch == ':') break; + currpos++; + } + if (currpos == start) throw new ConvertException("expected a string after a key but '" + text0[position] + "' (position = " + position + ") in (" + new String(this.text) + ")"); + this.position = currpos - 1; + return new String(text0, start, currpos - start); } else { return null; }