clé fastjson avec la hiérarchie de carte de conversion

Le code principal

	public static void isFor(String str,String keyObj) {
		StringBuffer sb = new StringBuffer();
		HashMap map = JSON.parseObject(str, HashMap.class);
		for (Object key : map.keySet()) {
			boolean jsonValid = isJSONValid(map.get(key) + "");
			if (jsonValid) {
				Object json = JSONObject.parse(map.get(key) + "");
				if (json instanceof JSONObject) {
					JSONObject jsonObject = (JSONObject) json;
                                        //每次递归传入上一层的key
					isFor(map.get(key) + "",keyObj+"."+key);
				} else if (json instanceof JSONArray) {
					JSONArray jsonArray = (JSONArray) json;
                                        //数组格式json串转换带下标的数组格式,从0开始
					int i = 0;
					for (Object obj : jsonArray) {
						isFor(obj.toString(),(String)key+"["+i+"]");
						i++;
					}
				}
			} else {
				System.err.println(keyObj+"."+key + "== " + map.get(key) + "");
			}
		}
	}


	public static boolean isJSONValid(String test) {
		if(StringUtils.isBlank(test)) {
			return false;
		}
        try {
            JSONObject.parseObject(test);
        } catch (Exception ex) {
            try {
                JSONObject.parseArray(test);
            } catch (Exception ex1) {
                return false;
            }
        }
        return true;
	}

test

format JSON:

	public static void main(String[] args) throws Exception {
		String str = "{\"xlbzph\": \"H040056\",\"jyxl\": {\"zdz\": \"城南汽车站\",\"qwe\": {\"www\": \"22222222222222\"}}}";
		//String str = "{\"cyzglb\":[{\"cclzrqn\":\"2019\",\"cclzrqr\":\"26\",\"yxqsrqr\":\"26\",\"cyzglb\":\"经营性道路旅客运输驾驶员\",\"yxqsrqn\":\"2019\",\"yxqsrqy\":\"06\",\"yxqx\":\"6年\",\"cclzrqy\":\"06\"},{\"cclzrqn\":\"2019\",\"cclzrqr\":\"26\",\"yxqsrqr\":\"26\",\"cyzglb\":\"经营性道路旅客运输驾驶员\",\"yxqsrqn\":\"2019\",\"yxqsrqy\":\"06\",\"yxqx\":\"6年\",\"cclzrqy\":\"06\"},{\"cclzrqn\":\"2019\",\"cclzrqr\":\"26\",\"yxqsrqr\":\"26\",\"cyzglb\":\"经营性道路旅客运输驾驶员\",\"yxqsrqn\":\"2019\",\"yxqsrqy\":\"06\",\"yxqx\":\"6年\",\"cclzrqy\":\"06\"},{\"cclzrqn\":\"2019\",\"cclzrqr\":\"19\",\"yxqsrqr\":\"20\",\"cyzglb\":\"经营性道路旅客运输驾驶员\",\"yxqsrqn\":\"2019\",\"yxqsrqy\":\"03\",\"yxqx\":\"6年\",\"cclzrqy\":\"03\"}],\"jcxx\":{\"zz\":\"四川成都\",\"csrq\":\"1977-02-11\",\"gj\":\"中国\",\"xm\":\"jinxiong yu\",\"bh\":\"sada123\",\"xb\":\"女\",\"ewm\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAIAAAD/gAIDAAAC8ElEQVR42u2aQXKDQBAD+f+nyTWHgEdqjYPL4uRyAQtNza6k2ePsMT6OIiiswiqsD4Z1jI8/7vXr/6vzJ//fn3l1/ov3vL3z8B0LC8NSB578noCeILsahfxz/46FlYY1f8T7Arl/XLXE1Gsnow/fsbDeCGs+Ad+f45XhfGpXp4jCOh5RhnzKn4PzPmRhPQmWJx0mS4F6pioLJkvQI3TW18EipfEpv//BG341LJRgiFZmfi2xyg/Ns74OVlYozq8lh2pr5gVbWDlYanhCZCq/v/oxPDlSWDuwPGExX5JJyXsRoyq2CysBi4SwnrnxwkV1MVHPLKwdWN4w6tLOX2BPlJg6q7BeTPBq0DEH4TVH1RJLLVCFlYY1D9jUZZ609b22CA8UCysBi0/YqqElksUTDW9KHQoLhXypNpQqCIhAtZsahYVh8RLj2z1S7SzPeBfWJqyNBX5+jjfxZ4V0YaVhpQSBt/Dz5pgXCsWS0sI61S1Hc8tCjLFakmTLXCDPKizZ7qhLPg9JeCPOK+pArFxYwgRPbKcqCIl0VJtgdruksAAs0rZUBScRClwqG+MW1hos1bh4cY06Fgm1JbiFFYKVNUAk9iNLvhEfn8F98IUl21SCKRUK8khHMuqFBWBlZWeqraCOQsxzYe3DIsOozVQubkn0GM7gC0uY4MnET7YNcWFJAsLCSsPiW4Xmj+XJCFVMELtWWGlYWcPhGW9VsszDGWPiL6xQR9poFkktL7Xh6pkbtUgLawcWkQ7q43KrROSFIWULC8Aim3VIq4pv8eCiF/UNCwsZaa9pNm/ocwQ8SoylDoVlWgoywZM4iMRHXru/sBKwPFuQssTk/upHMiAWFoDF432vENTWmRfRhKVDYa03WYmg5QVLFiXJ6hdWCBZvee0JBS9+8TYzFdYnwEpt6Nho4qMJvrBWYJGX8Vpbk09C4qbC2oTFS4A0+rmNVwXtus4qLDP6SIkJ1eJ6gfLctBdWAlaPQCusR2EVVmE94fgBHxlYVjHdvqMAAAAASUVORK5CYII\\u003d\",\"zh\":\"511027197702114401\"}}";
		isFor(str,"");
	}

 

sortie

La sortie vous a, en fonction de leur besoin d'optimiser, optimize pris la peine ici

Besoin de convertir une carte, vous pouvez ajouter la carte des paramètres

Publié 18 articles originaux · louanges gagnées 0 · Vues 355

Je suppose que tu aimes

Origine blog.csdn.net/Mr_ye931/article/details/105131105
conseillé
Classement