support unicode escape sequence for json

like: {"name":"\u60a8\u597d"}
This commit is contained in:
outersky
2013-06-03 13:45:39 +08:00
parent 60a1a4bb5b
commit 93d3638f6c
2 changed files with 13 additions and 0 deletions
@@ -151,6 +151,15 @@ public class ReadBasicJsonContext implements ReadJsonInterface {
case '"':
sb.append('"');
break;
case 'u':
String msg = "EOF reading unicode value";
char c1 = src.nextChar(msg);
char c2 = src.nextChar(msg);
char c3 = src.nextChar(msg);
char c4 = src.nextChar(msg);
char u = (char) Integer.parseInt(""+c1+c2+c3+c4, 16);
sb.append(u);
break;
default:
sb.append('\\');
@@ -67,6 +67,10 @@ public class TestJsonSimple extends BaseTestCase {
JsonElement jsonElement = InternalJsonParser.parse(s);
Assert.assertNotNull(jsonElement);
JsonElement e3 = InternalJsonParser.parse("{\"name\":\"\\u60a8\\u597d\"}");
Assert.assertTrue(e3.evalString("name").length()==2);
}
}