test_class.declarator: s_log = LogFactory.getLog(TestJSONUtil.class)
test_class.modifier: private static final
test_class.original_string: private static final Log s_log = LogFactory.getLog(TestJSONUtil.class);
test_class.type: Log
test_class.var_name: s_log
test_class.declarator: invocable
test_class.modifier: private static
test_class.original_string: private static Invocable invocable;
test_class.type: Invocable
test_class.var_name: invocable
test_class.declarator: BAD_CHARS = 4096
test_class.modifier: private static final
test_class.original_string: private static final int BAD_CHARS = 4096;
test_class.type: int
test_class.var_name: BAD_CHARS
test_class.file: JSONUtil/src/test/java/org/kopitubruk/util/json/TestJSONUtil.java
test_class.identifier: TestJSONUtil
test_case.body: @Test
      public void testValidStrings() throws ScriptException, NoSuchMethodException
      {
          int[] codePoints = new int[32768];
          JSONConfig cfg = new JSONConfig();
          JsonObject jsonObj = new JsonObject(1, cfg);
          int j = 0;
  
          for ( int i = 0; i <= Character.MAX_CODE_POINT; i++ ){
              if ( isNormalCodePoint(i) ){
                  // 247650 code points, the last time I checked.
                  codePoints[j++] = i;
                  if ( j == codePoints.length ){
                      jsonObj.clear();
                      jsonObj.add("x", new String(codePoints,0,j));
                      String json = jsonObj.toJSON();
                      validateJSON(json);
                      j = 0;
                  }
              }
          }
          if ( j > 0 ){
              jsonObj.clear();
              jsonObj.add("x", new String(codePoints,0,j));
              String json = jsonObj.toJSON();
              validateJSON(json);
          }
  
          jsonObj.clear();
          jsonObj.add("x", "Some data\nSome other data.");
          String json = jsonObj.toJSON();
          validateJSON(json);
          assertThat(json, is("{\"x\":\"Some data\\nSome other data.\"}"));
      }
test_case.class_method_signature: TestJSONUtil.testValidStrings()
test_case.full_signature: @Test public void testValidStrings()
test_case.identifier: testValidStrings
test_case.invocations: isNormalCodePoint clear add toJSON validateJSON clear add toJSON validateJSON clear add toJSON validateJSON assertThat is
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testValidStrings()
focal_class.declarator: JSON_NUMBER_PAT = Pattern.compile("^-?(?:(?:\\d+(?:\\.\\d+)?)|(?:\\.\\d+))(?:[eE][-+]?\\d+)?$")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern JSON_NUMBER_PAT = Pattern.compile("^-?(?:(?:\\d+(?:\\.\\d+)?)|(?:\\.\\d+))(?:[eE][-+]?\\d+)?$");
focal_class.type: Pattern
focal_class.var_name: JSON_NUMBER_PAT
focal_class.declarator: OCTAL_NUMBER_PAT = Pattern.compile("^-?0[0-7]+$")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern OCTAL_NUMBER_PAT = Pattern.compile("^-?0[0-7]+$");
focal_class.type: Pattern
focal_class.var_name: OCTAL_NUMBER_PAT
focal_class.declarator: VALID_ECMA5_PROPERTY_NAME_PAT =
              Pattern.compile("^(?:[_\\$\\p{L}]|\\\\u\\p{XDigit}{4})" +
                               "(?:[_\\$\\p{L}\\p{Nd}\\p{Mn}\\p{Mc}\\p{Pc}\\u200C\\u200D]|\\\\u\\p{XDigit}{4})*$")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern VALID_ECMA5_PROPERTY_NAME_PAT =
              Pattern.compile("^(?:[_\\$\\p{L}]|\\\\u\\p{XDigit}{4})" +
                               "(?:[_\\$\\p{L}\\p{Nd}\\p{Mn}\\p{Mc}\\p{Pc}\\u200C\\u200D]|\\\\u\\p{XDigit}{4})*$");
focal_class.type: Pattern
focal_class.var_name: VALID_ECMA5_PROPERTY_NAME_PAT
focal_class.declarator: VALID_ECMA6_PROPERTY_NAME_PAT =
              Pattern.compile("^(?:[_\\$\\p{L}\\p{Nl}]|\\\\u\\p{XDigit}{4}|\\\\u\\{\\p{XDigit}+\\})" +
                               "(?:[_\\$\\p{L}\\p{Nl}\\p{Nd}\\p{Mn}\\p{Mc}\\p{Pc}\\u200C\\u200D]|\\\\u\\p{XDigit}{4}|\\\\u\\{\\p{XDigit}+\\})*$")
focal_class.modifier: static final
focal_class.original_string: static final Pattern VALID_ECMA6_PROPERTY_NAME_PAT =
              Pattern.compile("^(?:[_\\$\\p{L}\\p{Nl}]|\\\\u\\p{XDigit}{4}|\\\\u\\{\\p{XDigit}+\\})" +
                               "(?:[_\\$\\p{L}\\p{Nl}\\p{Nd}\\p{Mn}\\p{Mc}\\p{Pc}\\u200C\\u200D]|\\\\u\\p{XDigit}{4}|\\\\u\\{\\p{XDigit}+\\})*$");
focal_class.type: Pattern
focal_class.var_name: VALID_ECMA6_PROPERTY_NAME_PAT
focal_class.declarator: VALID_JSON5_PROPERTY_NAME_PAT =
              Pattern.compile("^([^\u0000-\u001F\\p{Cn}\"/\\\\]|\\\\[bfnrt\\\\/\"]|\\\\u\\p{XDigit}{4})+$")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern VALID_JSON5_PROPERTY_NAME_PAT =
              Pattern.compile("^([^\u0000-\u001F\\p{Cn}\"/\\\\]|\\\\[bfnrt\\\\/\"]|\\\\u\\p{XDigit}{4})+$");
focal_class.type: Pattern
focal_class.var_name: VALID_JSON5_PROPERTY_NAME_PAT
focal_class.declarator: VALID_JSON6_PROPERTY_NAME_PAT =
              Pattern.compile("^([^\u0000-\u001F\\p{Cn}\"/\\\\]|\\\\[bfnrt\\\\/\"]|\\\\u\\p{XDigit}{4}|\\\\u\\{\\p{XDigit}+\\})+$")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern VALID_JSON6_PROPERTY_NAME_PAT =
              Pattern.compile("^([^\u0000-\u001F\\p{Cn}\"/\\\\]|\\\\[bfnrt\\\\/\"]|\\\\u\\p{XDigit}{4}|\\\\u\\{\\p{XDigit}+\\})+$");
focal_class.type: Pattern
focal_class.var_name: VALID_JSON6_PROPERTY_NAME_PAT
focal_class.declarator: RESERVED_WORDS =
              new HashSet<>(Arrays.asList(
                                      /* keywords for ECMAScript 5.1 */
                            "break", "case", "catch", "continue", "debugger",
                            "default", "delete", "do", "else", "finally", "for",
                            "function", "if", "in", "instanceof", "new", "return",
                            "switch", "this", "throw", "try", "typeof", "var",
                            "void", "while", "with",
                                      /* future reserved words for ECMAScript 5.1 */
                            "class", "const", "enum", "export", "extends",
                            "implements", "import",  "interface", "let", "package",
                            "private", "protected", "public", "static",
                            "super", "yield",
                                      /* future reserved words for ECMAScript 6 */
                            "await",
                                      /* literals */
                            "true", "false", "null", "undefined", "Infinity", "NaN"))
focal_class.modifier: private static final
focal_class.original_string: private static final Set<String> RESERVED_WORDS =
              new HashSet<>(Arrays.asList(
                                      /* keywords for ECMAScript 5.1 */
                            "break", "case", "catch", "continue", "debugger",
                            "default", "delete", "do", "else", "finally", "for",
                            "function", "if", "in", "instanceof", "new", "return",
                            "switch", "this", "throw", "try", "typeof", "var",
                            "void", "while", "with",
                                      /* future reserved words for ECMAScript 5.1 */
                            "class", "const", "enum", "export", "extends",
                            "implements", "import",  "interface", "let", "package",
                            "private", "protected", "public", "static",
                            "super", "yield",
                                      /* future reserved words for ECMAScript 6 */
                            "await",
                                      /* literals */
                            "true", "false", "null", "undefined", "Infinity", "NaN"));
focal_class.type: Set<String>
focal_class.var_name: RESERVED_WORDS
focal_class.file: JSONUtil/src/main/java/org/kopitubruk/util/json/JSONUtil.java
focal_class.identifier: JSONUtil
focal_class.class_method_signature: JSONUtil.toJSON( Object obj )
focal_class.full_signature: public static String toJSON( Object obj )
focal_class.identifier: toJSON
focal_class.modifiers: public static
focal_class.parameters: ( Object obj )
focal_class.return: String
focal_class.signature: String toJSON( Object obj )
focal_class.class_method_signature: JSONUtil.toJSON( Object obj, JSONConfig cfg )
focal_class.full_signature: public static String toJSON( Object obj, JSONConfig cfg )
focal_class.identifier: toJSON
focal_class.modifiers: public static
focal_class.parameters: ( Object obj, JSONConfig cfg )
focal_class.return: String
focal_class.signature: String toJSON( Object obj, JSONConfig cfg )
focal_class.class_method_signature: JSONUtil.toJSON( Object obj, Writer json )
focal_class.full_signature: public static void toJSON( Object obj, Writer json )
focal_class.identifier: toJSON
focal_class.modifiers: public static
focal_class.parameters: ( Object obj, Writer json )
focal_class.return: void
focal_class.signature: void toJSON( Object obj, Writer json )
focal_class.class_method_signature: JSONUtil.toJSON( Object obj, JSONConfig cfg, Writer json )
focal_class.full_signature: public static void toJSON( Object obj, JSONConfig cfg, Writer json )
focal_class.identifier: toJSON
focal_class.modifiers: public static
focal_class.parameters: ( Object obj, JSONConfig cfg, Writer json )
focal_class.return: void
focal_class.signature: void toJSON( Object obj, JSONConfig cfg, Writer json )
focal_class.class_method_signature: JSONUtil.appendPropertyValue( Object propertyValue, Writer json, JSONConfig cfg )
focal_class.full_signature: private static void appendPropertyValue( Object propertyValue, Writer json, JSONConfig cfg )
focal_class.identifier: appendPropertyValue
focal_class.modifiers: private static
focal_class.parameters: ( Object propertyValue, Writer json, JSONConfig cfg )
focal_class.return: void
focal_class.signature: void appendPropertyValue( Object propertyValue, Writer json, JSONConfig cfg )
focal_class.class_method_signature: JSONUtil.appendRecursiblePropertyValue( Object propertyValue, Writer json, JSONConfig cfg, JSONType jsonType )
focal_class.full_signature: private static void appendRecursiblePropertyValue( Object propertyValue, Writer json, JSONConfig cfg, JSONType jsonType )
focal_class.identifier: appendRecursiblePropertyValue
focal_class.modifiers: private static
focal_class.parameters: ( Object propertyValue, Writer json, JSONConfig cfg, JSONType jsonType )
focal_class.return: void
focal_class.signature: void appendRecursiblePropertyValue( Object propertyValue, Writer json, JSONConfig cfg, JSONType jsonType )
focal_class.class_method_signature: JSONUtil.appendSimplePropertyValue( Object propertyValue, Writer json, JSONConfig cfg, JSONType jsonType )
focal_class.full_signature: private static void appendSimplePropertyValue( Object propertyValue, Writer json, JSONConfig cfg, JSONType jsonType )
focal_class.identifier: appendSimplePropertyValue
focal_class.modifiers: private static
focal_class.parameters: ( Object propertyValue, Writer json, JSONConfig cfg, JSONType jsonType )
focal_class.return: void
focal_class.signature: void appendSimplePropertyValue( Object propertyValue, Writer json, JSONConfig cfg, JSONType jsonType )
focal_class.class_method_signature: JSONUtil.appendNumber( Number num, Writer json, JSONConfig cfg )
focal_class.full_signature: private static void appendNumber( Number num, Writer json, JSONConfig cfg )
focal_class.identifier: appendNumber
focal_class.modifiers: private static
focal_class.parameters: ( Number num, Writer json, JSONConfig cfg )
focal_class.return: void
focal_class.signature: void appendNumber( Number num, Writer json, JSONConfig cfg )
focal_class.class_method_signature: JSONUtil.appendDate( Date date, Writer json, JSONConfig cfg )
focal_class.full_signature: private static void appendDate( Date date, Writer json, JSONConfig cfg )
focal_class.identifier: appendDate
focal_class.modifiers: private static
focal_class.parameters: ( Date date, Writer json, JSONConfig cfg )
focal_class.return: void
focal_class.signature: void appendDate( Date date, Writer json, JSONConfig cfg )
focal_class.class_method_signature: JSONUtil.appendArrayPropertyValue( Object propertyValue, Writer json, JSONConfig cfg )
focal_class.full_signature: private static void appendArrayPropertyValue( Object propertyValue, Writer json, JSONConfig cfg )
focal_class.identifier: appendArrayPropertyValue
focal_class.modifiers: private static
focal_class.parameters: ( Object propertyValue, Writer json, JSONConfig cfg )
focal_class.return: void
focal_class.signature: void appendArrayPropertyValue( Object propertyValue, Writer json, JSONConfig cfg )
focal_class.class_method_signature: JSONUtil.appendObjectPropertyValue( Map<?,?> map, Writer json, JSONConfig cfg )
focal_class.full_signature: private static void appendObjectPropertyValue( Map<?,?> map, Writer json, JSONConfig cfg )
focal_class.identifier: appendObjectPropertyValue
focal_class.modifiers: private static
focal_class.parameters: ( Map<?,?> map, Writer json, JSONConfig cfg )
focal_class.return: void
focal_class.signature: void appendObjectPropertyValue( Map<?,?> map, Writer json, JSONConfig cfg )
focal_class.class_method_signature: JSONUtil.resourceBundleToMap( ResourceBundle bundle )
focal_class.full_signature: private static Map<?,?> resourceBundleToMap( ResourceBundle bundle )
focal_class.identifier: resourceBundleToMap
focal_class.modifiers: private static
focal_class.parameters: ( ResourceBundle bundle )
focal_class.return: Map<?,?>
focal_class.signature: Map<?,?> resourceBundleToMap( ResourceBundle bundle )
focal_class.class_method_signature: JSONUtil.getPropertyName( Object key, JSONConfig cfg, Set<String> propertyNames )
focal_class.full_signature: private static String getPropertyName( Object key, JSONConfig cfg, Set<String> propertyNames )
focal_class.identifier: getPropertyName
focal_class.modifiers: private static
focal_class.parameters: ( Object key, JSONConfig cfg, Set<String> propertyNames )
focal_class.return: String
focal_class.signature: String getPropertyName( Object key, JSONConfig cfg, Set<String> propertyNames )
focal_class.class_method_signature: JSONUtil.appendPropertyName( String propertyName, Writer json, boolean quoteIdentifier )
focal_class.full_signature: private static void appendPropertyName( String propertyName, Writer json, boolean quoteIdentifier )
focal_class.identifier: appendPropertyName
focal_class.modifiers: private static
focal_class.parameters: ( String propertyName, Writer json, boolean quoteIdentifier )
focal_class.return: void
focal_class.signature: void appendPropertyName( String propertyName, Writer json, boolean quoteIdentifier )
focal_class.class_method_signature: JSONUtil.escapeBadIdentifierCodePoints( String propertyName, JSONConfig cfg )
focal_class.full_signature: private static String escapeBadIdentifierCodePoints( String propertyName, JSONConfig cfg )
focal_class.identifier: escapeBadIdentifierCodePoints
focal_class.modifiers: private static
focal_class.parameters: ( String propertyName, JSONConfig cfg )
focal_class.return: String
focal_class.signature: String escapeBadIdentifierCodePoints( String propertyName, JSONConfig cfg )
focal_class.class_method_signature: JSONUtil.escapeNonAscii( String str, JSONConfig cfg )
focal_class.full_signature: private static String escapeNonAscii( String str, JSONConfig cfg )
focal_class.identifier: escapeNonAscii
focal_class.modifiers: private static
focal_class.parameters: ( String str, JSONConfig cfg )
focal_class.return: String
focal_class.signature: String escapeNonAscii( String str, JSONConfig cfg )
focal_class.class_method_signature: JSONUtil.escapeSurrogates( String str, JSONConfig cfg )
focal_class.full_signature: private static String escapeSurrogates( String str, JSONConfig cfg )
focal_class.identifier: escapeSurrogates
focal_class.modifiers: private static
focal_class.parameters: ( String str, JSONConfig cfg )
focal_class.return: String
focal_class.signature: String escapeSurrogates( String str, JSONConfig cfg )
focal_class.class_method_signature: JSONUtil.hasSurrogates( String str )
focal_class.full_signature: private static boolean hasSurrogates( String str )
focal_class.identifier: hasSurrogates
focal_class.modifiers: private static
focal_class.parameters: ( String str )
focal_class.return: boolean
focal_class.signature: boolean hasSurrogates( String str )
focal_class.class_method_signature: JSONUtil.writeString( String strValue, Writer json, JSONConfig cfg, boolean checkNum )
focal_class.full_signature: private static void writeString( String strValue, Writer json, JSONConfig cfg, boolean checkNum )
focal_class.identifier: writeString
focal_class.modifiers: private static
focal_class.parameters: ( String strValue, Writer json, JSONConfig cfg, boolean checkNum )
focal_class.return: void
focal_class.signature: void writeString( String strValue, Writer json, JSONConfig cfg, boolean checkNum )
focal_class.class_method_signature: JSONUtil.fastWriteString( String strValue, Writer json )
focal_class.full_signature: private static void fastWriteString( String strValue, Writer json )
focal_class.identifier: fastWriteString
focal_class.modifiers: private static
focal_class.parameters: ( String strValue, Writer json )
focal_class.return: void
focal_class.signature: void fastWriteString( String strValue, Writer json )
focal_class.class_method_signature: JSONUtil.isValidJSONNumber( String numericString, JSONConfig cfg, Number num )
focal_class.full_signature: private static boolean isValidJSONNumber( String numericString, JSONConfig cfg, Number num )
focal_class.identifier: isValidJSONNumber
focal_class.modifiers: private static
focal_class.parameters: ( String numericString, JSONConfig cfg, Number num )
focal_class.return: boolean
focal_class.signature: boolean isValidJSONNumber( String numericString, JSONConfig cfg, Number num )
focal_class.class_method_signature: JSONUtil.isSafeJsonNumber( Number num, String numericString, JSONConfig cfg )
focal_class.full_signature: private static boolean isSafeJsonNumber( Number num, String numericString, JSONConfig cfg )
focal_class.identifier: isSafeJsonNumber
focal_class.modifiers: private static
focal_class.parameters: ( Number num, String numericString, JSONConfig cfg )
focal_class.return: boolean
focal_class.signature: boolean isSafeJsonNumber( Number num, String numericString, JSONConfig cfg )
focal_class.class_method_signature: JSONUtil.getBundle( Locale locale )
focal_class.full_signature: static ResourceBundle getBundle( Locale locale )
focal_class.identifier: getBundle
focal_class.modifiers: static
focal_class.parameters: ( Locale locale )
focal_class.return: ResourceBundle
focal_class.signature: ResourceBundle getBundle( Locale locale )
focal_class.class_method_signature: JSONUtil.getJavascriptReservedWords()
focal_class.full_signature: public static Set<String> getJavascriptReservedWords()
focal_class.identifier: getJavascriptReservedWords
focal_class.modifiers: public static
focal_class.parameters: ()
focal_class.return: Set<String>
focal_class.signature: Set<String> getJavascriptReservedWords()
focal_class.class_method_signature: JSONUtil.isReservedWord( String name )
focal_class.full_signature: public static boolean isReservedWord( String name )
focal_class.identifier: isReservedWord
focal_class.modifiers: public static
focal_class.parameters: ( String name )
focal_class.return: boolean
focal_class.signature: boolean isReservedWord( String name )
focal_class.class_method_signature: JSONUtil.isValidIdentifierStart( int codePoint, JSONConfig cfg )
focal_class.full_signature: static boolean isValidIdentifierStart( int codePoint, JSONConfig cfg )
focal_class.identifier: isValidIdentifierStart
focal_class.modifiers: static
focal_class.parameters: ( int codePoint, JSONConfig cfg )
focal_class.return: boolean
focal_class.signature: boolean isValidIdentifierStart( int codePoint, JSONConfig cfg )
focal_class.class_method_signature: JSONUtil.isValidIdentifierPart( int codePoint, JSONConfig cfg )
focal_class.full_signature: static boolean isValidIdentifierPart( int codePoint, JSONConfig cfg )
focal_class.identifier: isValidIdentifierPart
focal_class.modifiers: static
focal_class.parameters: ( int codePoint, JSONConfig cfg )
focal_class.return: boolean
focal_class.signature: boolean isValidIdentifierPart( int codePoint, JSONConfig cfg )
focal_class.class_method_signature: JSONUtil.checkValidJavascriptPropertyName( String propertyName, JSONConfig cfg )
focal_class.full_signature: public static void checkValidJavascriptPropertyName( String propertyName, JSONConfig cfg )
focal_class.identifier: checkValidJavascriptPropertyName
focal_class.modifiers: public static
focal_class.parameters: ( String propertyName, JSONConfig cfg )
focal_class.return: void
focal_class.signature: void checkValidJavascriptPropertyName( String propertyName, JSONConfig cfg )
focal_class.class_method_signature: JSONUtil.checkValidJavascriptPropertyName( String propertyName )
focal_class.full_signature: public static void checkValidJavascriptPropertyName( String propertyName )
focal_class.identifier: checkValidJavascriptPropertyName
focal_class.modifiers: public static
focal_class.parameters: ( String propertyName )
focal_class.return: void
focal_class.signature: void checkValidJavascriptPropertyName( String propertyName )
focal_class.class_method_signature: JSONUtil.checkValidJavascriptPropertyNameImpl( String propertyName, JSONConfig cfg )
focal_class.full_signature: private static void checkValidJavascriptPropertyNameImpl( String propertyName, JSONConfig cfg )
focal_class.identifier: checkValidJavascriptPropertyNameImpl
focal_class.modifiers: private static
focal_class.parameters: ( String propertyName, JSONConfig cfg )
focal_class.return: void
focal_class.signature: void checkValidJavascriptPropertyNameImpl( String propertyName, JSONConfig cfg )
focal_class.class_method_signature: JSONUtil.isValidJavascriptPropertyName( String propertyName, JSONConfig cfg )
focal_class.full_signature: public static boolean isValidJavascriptPropertyName( String propertyName, JSONConfig cfg )
focal_class.identifier: isValidJavascriptPropertyName
focal_class.modifiers: public static
focal_class.parameters: ( String propertyName, JSONConfig cfg )
focal_class.return: boolean
focal_class.signature: boolean isValidJavascriptPropertyName( String propertyName, JSONConfig cfg )
focal_class.class_method_signature: JSONUtil.isValidJavascriptPropertyName( String propertyName )
focal_class.full_signature: public static boolean isValidJavascriptPropertyName( String propertyName )
focal_class.identifier: isValidJavascriptPropertyName
focal_class.modifiers: public static
focal_class.parameters: ( String propertyName )
focal_class.return: boolean
focal_class.signature: boolean isValidJavascriptPropertyName( String propertyName )
focal_class.class_method_signature: JSONUtil.isValidJavascriptPropertyNameImpl( String propertyName, JSONConfig cfg )
focal_class.full_signature: private static boolean isValidJavascriptPropertyNameImpl( String propertyName, JSONConfig cfg )
focal_class.identifier: isValidJavascriptPropertyNameImpl
focal_class.modifiers: private static
focal_class.parameters: ( String propertyName, JSONConfig cfg )
focal_class.return: boolean
focal_class.signature: boolean isValidJavascriptPropertyNameImpl( String propertyName, JSONConfig cfg )
focal_class.class_method_signature: JSONUtil.getPropertyNameValidationPattern( JSONConfig cfg )
focal_class.full_signature: static Pattern getPropertyNameValidationPattern( JSONConfig cfg )
focal_class.identifier: getPropertyNameValidationPattern
focal_class.modifiers: static
focal_class.parameters: ( JSONConfig cfg )
focal_class.return: Pattern
focal_class.signature: Pattern getPropertyNameValidationPattern( JSONConfig cfg )
focal_class.class_method_signature: JSONUtil.JSONUtil()
focal_class.full_signature: private  JSONUtil()
focal_class.identifier: JSONUtil
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.signature:  JSONUtil()
focal_method.body: public static String toJSON( Object obj )
      {
          return toJSON(obj, (JSONConfig)null);
      }
focal_method.class_method_signature: JSONUtil.toJSON( Object obj )
focal_method.full_signature: public static String toJSON( Object obj )
focal_method.identifier: toJSON
focal_method.invocations: toJSON
focal_method.modifiers: public static
focal_method.parameters: ( Object obj )
focal_method.return: String
focal_method.signature: String toJSON( Object obj )