如何处理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;

 

转载于:https://www.cnblogs.com/TheQi/p/11392941.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值