• 如何处理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;
  • 相关阅读:
    HAOI2018 奇怪的背包
    HAOI2018 苹果树
    骑士游戏
    飞飞侠
    奶牛排队
    寻找道路
    [USACO08JAN]牛大赛Cow Contest
    灾后重建
    [USACO09DEC]牛收费路径Cow Toll Paths
    萌萌哒
  • 原文地址:https://www.cnblogs.com/TheQi/p/11392941.html
Copyright © 2020-2023  润新知