@Test void testUnquotes() { JsonParsers.forEachParser(jsonParser -> { Map<String, Object> map = jsonParser.looseMode(true).parse("{foo: BAR , who : me}"); assertEquals(2, map.size()); assertEquals("BAR", map.get("foo")); assertEquals("me", map.get("who")); try { jsonParser.looseMode(true).parse("{foo: BAR , who : m\te}"); fail("error"); } catch (JsonException ignore) { } }); }
@Test void testQuotes() { JsonParsers.forEachParser(jsonParser -> { try { assertEquals("ABC", jsonParser.parse("'ABC'")); fail("error"); } catch (JsonException ignore) { } assertEquals("ABC", jsonParser.looseMode(true).parse("'ABC'")); assertEquals("AB'C", jsonParser.looseMode(true).parse("'AB\\'C'")); Map<String, Object> map = jsonParser.looseMode(true).parse("{'foo':'BAR'}"); assertEquals(1, map.size()); assertEquals("BAR", map.get("foo")); }); }
@Test void testInvalidEscape() { JsonParsers.forEachParser(jsonParser -> { try { assertEquals("ABC\\D", jsonParser.parse("\"ABC\\D\"")); fail("error"); } catch (JsonException ignore) { } assertEquals("ABC\\D", jsonParser.looseMode(true).parse("\"ABC\\D\"")); // Map<String, Object> map = new JsonParser().looseMode(true).parse("{\"foo\": \"bar\\\"}"); // assertEquals(1, map.size()); // assertEquals("bar\\", map.get("foo")); }); }