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;
  • 相关阅读:
    解决Android Studio Gradle DSL method not found: 'android()'
    【转】关于ListView中notifyDataSetChanged()刷新数据不更新原因
    设计模式-单例模式
    IE浏览器让DIV居中
    Java通过DOM解析XML
    git 配置文件位置;git配置文件设置
    git config配置
    dos2unix
    文件的编码问题解决
    git diff old mode 100644 new mode 100755
  • 原文地址:https://www.cnblogs.com/TheQi/p/11392941.html
Copyright © 2011-2022 走看看