例如 一个Person类中有name和age两个字段,我有一个API把Person类作为Body接收,JSON传过来的时候可能是{"name":null, "age":10}
也可能是{"age":10},我如何区分name是否传递过来了?我知道它代表的意义相同,但是业务需求中涉及到一些非结构化存储,会导致这两种含义不同,例如增量的修改(类似Patch),传过来这个字段代表我们需要update它为null,而没传过来代表我们将不去管这个值

解决方案 »

  1.   

            String json1 = "{\"name\":null, \"age\":10}";
            String json2 = "{\"age\":10}";        JSONObject jsonObject = JSON.parseObject(json1);        if(jsonObject.containsKey("name")) {
                System.out.println(jsonObject.getString("name"));
            }else {
                System.out.println("不存在name属性");
            }这是用的fastjson