Java教程

Java工具:Java递归去除Json字符串空值(key和value)

本文主要是介绍Java工具:Java递归去除Json字符串空值(key和value),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 

转:

Java工具:Java递归去除Json字符串空值(key和value)

 

 

package com.tydic.crm.order.query.util;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

import java.util.Iterator;
import java.util.Set;
public class JsonDealUtils {

    public static JSONObject getNoNullValue(String json) {
        JSONObject objTem=JSON.parseObject(json);
        JSONObject objRel=JSON.parseObject(json);
        return deal(objTem,objRel);
    }

    private static JSONObject deal(JSONObject objTem,JSONObject objRel) {
        Set<String> keySet = objTem.keySet();
        Iterator<String> iterator = keySet.iterator();
        while(iterator.hasNext()) {
            String temp =  iterator.next();
            Object objR = objTem.get(temp);
            if(temp==null||"".equals(temp)||"null".equals(temp)) {                
                objRel.remove(temp);
                 continue;
            }
            if(objR==null||"".equals(objR.toString())||"null".equals(objR.toString())||"[]".equals(objR.toString())||"{}".equals(objR.toString())) {
                objRel.remove(temp);
                continue;
            }
            if(objR instanceof JSONObject) {
                JSONObject j=(JSONObject)objR;
                JSONObject object2 = (JSONObject)objRel.get(temp);
                 deal(j,object2);
                 continue;
            }
            if(objR instanceof JSONArray) {
                JSONArray jsonArray = objTem.getJSONArray(temp);
                JSONArray jsonArray2 = objRel.getJSONArray(temp);
                for(int i=0;i<jsonArray.size();i++) {
                     deal(jsonArray.getJSONObject(i),jsonArray2.getJSONObject(i));
                }
            }
        }
        return objRel;
    }

    
}

 

这篇关于Java工具:Java递归去除Json字符串空值(key和value)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!