[英]Convert Json String to JsonObject Object
我有以下 JSON:
{
"insertId":"qxdo1se4pjcw",
"logName":"projects,
"protoPayload":{
"type":"type.googleapis.com/google.cloud.audit.AuditLog",
"authenticationInfo":{
"principalEmail":"gserviceaccount.com"
},
"authorizationInfo":[
{
"granted":true,
"permission":"bigquery.tables.updateData",
"resource":"metrics_event",
"resourceAttributes":{
}
}
]
}
我想將其轉換為 JSON object 以便稍后我們可以輕松參考每個 object 我的代碼:
String msg = message.getData().toStringUtf8();
JsonParser pa = new JsonParser();
JsonObject obj = (JsonObject) pa.parse(msg);
我可以使用 get 方法訪問元素,但是如何訪問嵌套的元素,例如
obj.get("protoPayload"
) 工作正常,但如何訪問type
類似於obj.get("protoPayload").get("type")
使用來自 org.json 的普通 JSON
JSONObject json=new JSONObject(String source);
這會將有效的 JSON 字符串轉換為 JSON Object。
如果您想訪問 JSON 內的嵌套 object 並且您已經知道“密鑰”,那么您可以使用以下內容。
JSONObject 擴展了 HashMap,因此您可以簡單地將其用作 HashMap:
JSONObject jsonChildObject = (JSONObject)jsonObject.get("protoPayload");
for (Map.Entry in jsonChildOBject.entrySet()) {
System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
}
使用obj.getJsonObject("protoPayload").get("type")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.