src/main/java/com/rockagen/commons/util/JsonUtil.java
public static JsonFactory getJsonFactory() {

		JsonFactory jsonFactory = threadJsonFactory.get();
		if (jsonFactory == null) {
			jsonFactory = new JsonFactory();
			// JsonParser.Feature for configuring parsing settings:
			// to allow C/C++ style comments in JSON (non-standard, disabled by
			// default)
			jsonFactory.enable(JsonParser.Feature.ALLOW_COMMENTS);
			// to allow (non-standard) unquoted field names in JSON:
			jsonFactory.disable(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES);
			// to allow use of apostrophes (single quotes), non standard
			jsonFactory.disable(JsonParser.Feature.ALLOW_SINGLE_QUOTES);

			// JsonGenerator.Feature for configuring low-level JSON generation:

			// no escaping of non-ASCII characters:
			jsonFactory.disable(JsonGenerator.Feature.ESCAPE_NON_ASCII);
			threadJsonFactory.set(jsonFactory);

		}
		return jsonFactory;
	}
public static JsonFactory getJsonFactory() {

		JsonFactory jsonFactory = threadJsonFactory.get();
		if (jsonFactory == null) {
			jsonFactory = new JsonFactory();
			// JsonParser.Feature for configuring parsing settings:
			// to allow C/C++ style comments in JSON (non-standard, disabled by
			// default)
			jsonFactory.enable(JsonParser.Feature.ALLOW_COMMENTS);
			// to allow (non-standard) unquoted field names in JSON:
			jsonFactory.disable(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES);
			// to allow use of apostrophes (single quotes), non standard
			jsonFactory.disable(JsonParser.Feature.ALLOW_SINGLE_QUOTES);

			// JsonGenerator.Feature for configuring low-level JSON generation:

			// no escaping of non-ASCII characters:
			jsonFactory.disable(JsonGenerator.Feature.ESCAPE_NON_ASCII);
			threadJsonFactory.set(jsonFactory);

		}
		return jsonFactory;
	}
return a JsonFactory if exist,else new JsonFactory

@return JsonFactory