• jackson替换对应key值


    private static final ObjectMapper MAPPER = new ObjectMapper();
    public static JsonNode stringToJsonNode(String jsonString) {
        if (StringUtils.isBlank(jsonString)) {
            return null;
        }
        try {
            return MAPPER.readTree(jsonString);
        } catch (Exception e) {
            LOGGER.error("json convert exception", e);
        }
    
        return null;
    }
    public static void setJsonNodeValue(JsonNode node, String attrs, JsonNode data) {
        int index = attrs.indexOf('.');
        if (index == -1) {
            ObjectNode node1 = (ObjectNode) node;
            node1.set(attrs, data);
        } else {
            String s1 = attrs.substring(0, index);
            String s2 = attrs.substring(index + 1);
            setJsonNodeValue(getJsonNode(node, s1), s2, data);
        }
    }
    public static String replaceJsonVal(String key, String newVal, String json){
        JsonNode jsonNode = JsonUtil.stringToJsonNode(json);
        JsonNode newNode = new TextNode(newVal);
        JsonNode parent = jsonNode.findParent(key);
        JsonUtil.setJsonNodeValue(parent, key, newNode);
        return jsonNode.toString();
    }

    public static void main(String[] args) throws JsonProcessingException {


            String json = "{\"name\": \"张三\", \"phone\": \"13120928116\", \"driver\": \"\", \"gender\": \"1\", \"bankCity\": \"上海\", \"bankCardNo\": \"1\"}";


            String str = replaceJsonVal("bankCardNo", "112233", json);
            System.out.println(str);


        }

  • 相关阅读:
    求负反馈电路的电压增益
    LabVIEW学习记录 - 实时显示时间
    java操作HBase
    【云原生】Kubernetes资源配额+HPA+节点选择器+亲和性+污点
    Day53——Web框架,Django框架基本使用
    redis(封装jedis)-----面试
    Day2力扣打卡
    有营养的算法笔记(七)
    [SUCTF 2019]EasyWeb
    SQL中的索引
  • 原文地址:https://blog.csdn.net/zhglhy/article/details/126252243