如何在java中获取JSON对象的所有节点和子节点?

我想获取以下JSON对象的所有节点。 例如
结果,身份certificate,付款等

{ "result": { "identification": { "transactionid": "Merchant Assigned ID", "uniqueid": "d91ac8ff6e9945b8a125d6e725155fb6", "shortid": "0000.0005.6238", "customerid": "customerid 12345" }, "payment": { "amount": "2400", "currency": "EUR", "descriptor": "order number" }, "level": 0, "code": 0, "method": "creditcard", "type": "preauthorization", "message": "approved", "merchant": { "key1": "Value1", "key0": "Value0" } }, "id": 1, "jsonrpc": "2.0" } 

我使用了以下代码:

 JSONObject partsData = new JSONObject(returnString); Iterator iterator = jsonObject.keys(); while (iterator.hasNext()) { String result=iterator.next(); System.out.println(result); } 

但我得到的结果是:

 id result jsonrpc 

如何获取所有节点名称?

在方法中移动迭代器逻辑(迭代json)
例如,

 public Map parse(JSONObject json , Map out) throws JSONException{ Iterator keys = json.keys(); while(keys.hasNext()){ String key = keys.next(); String val = null; if ( json.getJSONObject(key) instanceof JSONObject ) { JSONObject value = json.getJSONObject(key); parse(value,out); } else { val = json.getString(key); } if(val != null){ out.put(key,val); } } return out; } 

这样,您可以检查json对象中的每个子节点。

您必须解析所有对象。

 JSONObject partsData = new JSONObject("result"); JsonObject identification = partsData.getJsonObject("identification"); JsonObject payment = partsData.getJsonobject("payment");