zoukankan      html  css  js  c++  java
  • 如何处理json字符串

    private static final Logger logger = LoggerFactory.getLogger(JsonUtils.class);
        private static final ObjectMapper mapper = new ObjectMapper();
        
        static {
            mapper.configure(JsonParser.Feature.ALLOW_COMMENTS, true);
            mapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);
            mapper.configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES, true);
            mapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_CONTROL_CHARS, true);
            mapper.configure(JsonParser.Feature.INTERN_FIELD_NAMES, true);
            mapper.configure(JsonParser.Feature.CANONICALIZE_FIELD_NAMES, true);
    
            mapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
    
            mapper.configure(JsonGenerator.Feature.QUOTE_FIELD_NAMES, false);
            mapper.configure(JsonGenerator.Feature.QUOTE_NON_NUMERIC_NUMBERS, false);
        }
        
        public static ObjectMapper getJsonObjectMapper(){
            return mapper;
        }
        
        public static String toJson(Object obj) {
            try {
                return mapper.writeValueAsString(obj);
            } catch (IOException e) {
                logger.error("to json error, ", e);
                return null;
            }
        }
        
        public static <T> T fromJson(String str, Class clazz) {
            try {
                return (T)getJsonObjectMapper().readValue(str, clazz);
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        }
    mapper.readTree 可以读取里面的内容

    JsonNode jsonNode = JsonUtil.getObjectMapper().readTree(content);
            JsonNode jsonStatus = jsonNode.get("aa");
            int status = jsonStatus.getIntValue();
    
            JsonNode jsonResults = jsonNode.get("bb");
            Iterator<JsonNode> elements = jsonResults.getElements();
            while (elements.hasNext()) {
                JsonNode json = elements.next();
                JsonNode jsonName = json.get("cc");
                if(jsonName == null || jsonName.isNull()) {
                    continue;
                }
                String jsonNameStr = jsonName.getTextValue();
                if (StringUtils.isBlank(jsonNameStr)) {
                    continue;
                }
               
              
            }
            return false;
  • 相关阅读:
    webSocket
    Spring中注解大全和应用
    原生js替换jQuery各种方法-中文版
    正则表达式-基础知识Review
    Swoole 4.1.0 正式版发布,支持原生 Redis/PDO/MySQLi 协程化
    Javascript 模块化指北
    精读《sqorn 源码》
    nodejs源码—初始化
    ubuntu显卡驱动安装
    iOS推断当前控制器是否在显示
  • 原文地址:https://www.cnblogs.com/TheQi/p/11392941.html
Copyright © 2011-2022 走看看