JsonAware typeMapping(Object src) {

		if (isMapJsonNull(src)) {
			return jsonNullMapping(src);

		} else if (isMapJsonBoolean(src)) {
			return jsonBooleanMapping(src);

		} else if (isMapJsonString(src)) {
			return jsonStringMapping(src);

		} else if (isMapJsonNumber(src)) {
			return jsonNumberMapping(src);

		} else if (isMapJsonArray(src)) {
			return jsonArrayMapping(src);
		}

		return jsonObjectMapping(src);
	}