此方法可以获取多级json的value
例如
{"data2":{"data2":2},"data1":{"data1":"111"}}
可以直接调用方法getField(root,"data:data1:data1") 此方法直接输出:111
/**
* 获取Json字段,可以是子对象中的字段。
* @param root:根对象
* @param field:子对象,以“:”分隔。
* @return
*/
public static Object getField(JSONObject root, String field) {
Object ro = null;
try {
int i;
String [] fieldList = field.split(":");
if (fieldList.length<1)
return null;
JSONObject sub = root;
String k = null;
for (i=0;i<fieldList.length-1;i++) {
k = fieldList[i].trim();
if (k.isEmpty())
continue;
sub = sub.getJSONObject(k);
}
ro = sub.get(fieldList[fieldList.length-1]);
}catch(Exception e) {
ro = null;
}
return ro;
}