首页 > 文章列表 > 如何在Java中使用Jackson获取JSONParser的默认设置?

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

java jackson JSONParser
403 2023-09-03

所有JSON 解析器的默认设置都可以使用JsonParser.Feature枚举来表示。 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