【发布时间】:2015-07-15 11:27:45
【问题描述】:
Json 字符串如下所示:
[
{
"Metric Payload": [
{
"MetaData": [
{
"FieldName": "PROC_PROC_ID",
"DataType": "UINT32",
"Label": "PID",
"Unit": "N/A"
},
{
"FieldName": "PROC_USER_NAME",
"DataType": "STRING",
"Label": "User Name",
"Unit": "N/A"
}
],
"Instances": [
{
"PROC_INTEREST": "M",
"PROC_CPU_TOTAL_UTIL": "0.0",
"GBL_ACTIVE_CPU": "2"
}
]
}
]
}
]
我想解析并提取“实例”数组中存在的“PROC_CPU_TOTAL_UTIL”的值。尝试了下面的代码,但它失败并显示异常,不是 JSON 对象。
public String getmetrics(String jsonout) {
String result = null;
try {
JsonElement jelement = new JsonParser().parse(jsonout);
JsonObject jobject = jelement.getAsJsonObject();
jobject = jobject.getAsJsonObject("");
JsonArray jarray = jobject.getAsJsonArray("Instances");
jobject = jarray.get(0).getAsJsonObject();
result = jobject.get("GBL_MEM_AVAIL").toString();
System.out.println(result);
} catch (Exception e) {
// TODO: handle exception
System.err.println(e);
}
return result;
}
【问题讨论】:
-
GBL_MEM_AVAIL 在哪里