可能重複:
Selecting a JSON object with a colon in the key如何使用jQuery訪問這些奇怪的JSON項目?
我道歉,如果這是一個重複的問題。我搜查了,我真的做到了!
我想要實現的是一個簡單的日期重新格式化爲「2012年3月9日星期五」之類的更好的東西。我很樂意使用衆多方便的jQuery插件之一來解析可用的「pubDate」值,使其更有用。不幸的是,有些力量阻止我導入任何其他腳本,包括jQuery UI。由我的上級授權的頁面模板導入jQuery,就是這樣。
我的JSON數據包含下面的代碼片段:
"items": [
{
"title": "blah blah",
"link": "http://url.blah.com",
"category": "category blah",
"pubDate": "Fri, 09 Mar 2012 16:16:05 -0500",
"y:published": {
"hour": "21",
"timezone": "UTC",
"second": "5",
"month": "3",
"month_name": "March",
"minute": "16",
"utime": "1331327765",
"day": "9",
"day_ordinal_suffix": "th",
"day_of_week": "5",
"day_name": "Friday",
"year": "2012"
},
"y:id": {
"permalink": "true",
"value": null
},
"y:title": "blah blah",
"description": "more blah blah"
}
如果我遍歷「項目」使用$。每次,我怎麼檢索「Y:出版了」東西的價值?
顯然像
items.y:published.day_name
不會因爲結腸的工作。唉,我不是這個內容的創建者(它實際上是來自雅虎管道的JSON提要,這可能會解釋「y:」);我只是負責操縱它。從我讀過的內容來看,「y:blahblah」條目是非標準的JSON(?),並且很可能沒有通過.getJSON解析,在這種情況下,我搞砸了。 (子問題:這個評估是否正確?)
(並且就這樣我覆蓋了我所有的基礎:將Yahoo管道輸出從JSON更改爲RSS/XML,完全消除了「y:published」節點,所以不是一個選項)。
在此先感謝。我沒有驕傲;即使最簡單的解決方案,只要可以用直接的js或jQuery來完成,我也會很感激。
更新:以創紀錄的時間回答!感謝所有貢獻的人。
解決辦法:
var niceDate =
singleItem['y:published'].day_name + ', ' +
singleItem['y:published'].month_name + ' ' +
singleItem['y:published'].day + ', ' +
singleItem['y:published'].year;
你見過? http://stackoverflow.com/questions/4925760/selecting-a-json-object-with-a-colon-in-the-key – redDevil 2012-03-10 07:08:34
FUDGE!不,我沒有看到。非常感謝。 *目前拍我的額頭* – 2012-03-10 07:15:31
雙謝。實際上,我曾經在DOM操作中使用過這種符號。我猜我自己確信JSON遍歷有一套內在不同的規則。或者其他的東西。我不知道爲什麼。已經很晚了...... – 2012-03-10 07:17:27