如何使用 Java 中的 Jackson 获取 JSONParser 默认设置?

javajsonobject oriented programmingprogramming

可以使用 JsonParser.Feature 枚举 表示 JSON Parser  的所有默认设置。JsonParser.Feature.values() 将返回 JSONParser  可用的所有功能,但可以使用 JsonParser isEnabled() 方法确定某个功能对于特定解析器是启用 还是禁用 

语法

public static enum JsonParser.Feature extends Enum<JsonParser.Feature>

示例

import com.fasterxml.jackson.core.*;
import java.io.*;
public class JsonParserSettingsTest {
   public static void main(String[] args) throws IOException {
      String json = "[{\"name\":\"Adithya\", \"age\":\"30\"}," + "{\"name\":\"Ravi\", \"age\":\"35\"}]";
      JsonFactory jsonFactory = new JsonFactory();
      JsonParser jsonParser = jsonFactory.createParser(json);
      for(JsonParser.Feature feature : JsonParser.Feature.values()) {
         System.out.println(feature.name() + ":" + jsonParser.isEnabled(feature));
      }
   }
}

输出

AUTO_CLOSE_SOURCE:true
ALLOW_COMMENTS:false
ALLOW_YAML_COMMENTS:false
ALLOW_UNQUOTED_FIELD_NAMES:false
ALLOW_SINGLE_QUOTES:false
ALLOW_UNQUOTED_CONTROL_CHARS:false
ALLOW_BACKSLASH_ESCAPING_ANY_CHARACTER:false
ALLOW_NUMERIC_LEADING_ZEROS:false
ALLOW_NON_NUMERIC_NUMBERS:false
ALLOW_MISSING_VALUES:false
ALLOW_TRAILING_COMMA:false
STRICT_DUPLICATE_DETECTION:false
IGNORE_UNDEFINED:false
INCLUDE_SOURCE_IN_LOCATION:true

相关文章