JsonUtils { public static DocumentContext toJsonDocStrict(String raw) { try { JSONParser parser = new JSONParser(JSONParser.MODE_RFC4627); Object o = parser.parse(raw.trim()); return JsonPath.parse(o); } catch (ParseException e) { throw new RuntimeException(e); } } private  JsonUtils(); static DocumentContext toJsonDocStrict(String raw); static DocumentContext toJsonDoc(String raw); static String toStrictJsonString(String raw); static String toJson(Object o); static Map removeCyclicReferences(Map map); static DocumentContext toJsonDoc(Object o); static Object fromJson(String s, String className); static T fromJson(String s, Class<T> clazz); static String toPrettyJsonString(DocumentContext doc); static String escapeValue(String raw); static Object nashornObjectToJavaJSON(Object jsObj); static void removeKeysWithNullValues(Object o); static StringUtils.Pair getParentAndLeafPath(String path); static void removeValueByPath(DocumentContext doc, String path); static void setValueByPath(DocumentContext doc, String path, Object value); static void setValueByPath(DocumentContext doc, String path, Object value, boolean remove); static boolean pathExists(DocumentContext doc, String path); static DocumentContext fromYaml(String raw); static DocumentContext fromCsv(String raw); static String toCsv(List<Map<String, Object>> list); static String buildPath(String parentPath, String key); static DocumentContext emptyJsonObject(); static DocumentContext emptyJsonArray(int length);  }
@Test public void testMalformed() { String text = FileUtils.toString(getClass().getResourceAsStream("malformed.txt")); try { Object o = JsonUtils.toJsonDocStrict(text); fail("we should not have reached here"); } catch (Exception e) { assertTrue(e.getCause() instanceof ParseException); } }