我已經在幾分鐘內解析了一個JSON,這很簡單。與傑克遜解析JSON讓我瘋狂
我需要在JAVA中做同樣的事情,它更復雜。 我選擇了傑克遜。
這裏的JSON:
{
"object":"page",
"entry":[
{
"id":"1849584656581184912",
"time":1361458605,
"changes":[
{
"field":"feed",
"value":{
"item":"post",
"verb":"add",
"post_id":"6022322264458251"
}
}
]
},
{
"id":"184965658184912",
"time":1361458606,
"changes":[
{
"field":"feed",
"value":{
"item":"comment",
"verb":"add",
"comment_id":"1849584656581184912_6022322264458251_7510038",
"parent_id":"1849584656581184912_6022322264458251",
"sender_id":657754651107,
"created_time":1361458606
}
},
{
"field":"feed",
"value":{
"item":"comment",
"verb":"add",
"comment_id":"1849584656581184912_6022322264458251_7510037",
"parent_id":"1849584656581184912_6022322264458251",
"sender_id":657754651107,
"created_time":1361458606
}
}
]
}
]
}
下面的PHP代碼:
foreach($object["entry"] as $update)
{
// For each entry in notification, display the entry
echo "page id = " . $update["id"];
echo "time = " . $update["time"];
foreach($update["changes"] as $change) {
echo "field = " . $change["field"];
echo "verb = " . $change["value"]["verb"];
if($change["value"]["item"] == "comment") {
echo "Nouveau commentaire publié !";
echo "comment_id = " . $change["value"]["comment_id"];
echo "parent_id = " . $change["value"]["parent_id"];
echo "sender_id = " . $change["value"]["sender_id"];
echo "created_time = " . $change["value"]["created_time"];
} else if($change["value"]["item"] == "post") {
echo "Nouveau post publié !";
echo "post_id = " . $change["value"]["post_id"];
}
}
}
所以我需要同樣的事情,解析這個JSON和顯示一些信息。
你知道一個簡單的方法來做到這一點,就像在PHP中一樣嗎?
感謝
你能張貼你映射到Java POJO? – 2013-02-22 09:23:57
請注意,你可以像你想要的那樣進行提取(一個答案顯示它),但是使用數據綁定可能會更方便:將_same structure_定義爲JSON,並且只是要求JSON將數據綁定到它。這比國際海事組織比上面的代碼更方便,您可以在這裏編寫大量的樣板代碼,而不是單行數據綁定。 – StaxMan 2013-02-24 01:57:21