Small update to JSONParser

This commit is contained in:
Ziver Koc 2015-10-28 17:23:27 +01:00
parent aea3b9467e
commit 2130877265
2 changed files with 12 additions and 3 deletions

View file

@ -103,7 +103,7 @@ public class JSONParser extends Parser {
case ']': case ']':
case '}': case '}':
case (char)-1: case (char)-1:
end.i = 1; end.i = END_WITH_NULL;
return null; return null;
// Parse Map // Parse Map
case '{': case '{':
@ -114,7 +114,7 @@ public class JSONParser extends Parser {
if(end.i != END_WITH_NULL) if(end.i != END_WITH_NULL)
root.set( key.toString(), node ); root.set( key.toString(), node );
} }
end.i = 0; end.i = CONTINUE;
break; break;
// Parse List // Parse List
case '[': case '[':
@ -124,7 +124,7 @@ public class JSONParser extends Parser {
if(end.i != END_WITH_NULL) if(end.i != END_WITH_NULL)
root.add( node ); root.add( node );
} }
end.i = 0; end.i = CONTINUE;
break; break;
// Parse String // Parse String
// TODO: Support double backslash escaping // TODO: Support double backslash escaping

View file

@ -138,6 +138,15 @@ public class JSONParserTest {
assertEquals( "3", data.getString("3")); assertEquals( "3", data.getString("3"));
} }
@Test
public void emptyStringInMap(){
DataNode data = JSONParser.read("{1:{2:\"\"}}");
assertEquals(DataType.Map, data.getType());
assertEquals(1, data.size());
assertEquals( "", data.get("1").getString("2"));
}
@Test @Test
public void complexMap() { public void complexMap() {
String json = "{" + String json = "{" +