この質問には質の高い回答がいくつかあることは知っていますが、それを機能させるための構文に苦労しています。
$.getJSON( "ticketweb.json",
function(data){
$.each(data.events, function(){
$('ul#listings').append("<li><div class=event-col><span class=name>" +this.eventname+ "</span><p>" +this.eventurl+ "</p><div class=date>" +this.dates.startdate+ "</div><p>" +this.eventimages+ "</p><p>" +this.venue.name+ "</p></div></li>");
});
});
どこ
<div class=date>" +this.dates.startdate+ "</div>
.append の一部は、フォーマットしたいビットです。私は多くの方法を試しましたが、より普遍的な json 形式の方法を上記の構文に組み込む方法がわかりません。
編集: 日付形式は理想的には次のようになります: 11 月 17 日 (土) ですが、17.11.12 も問題ありません。
私が現在取得している出力は20120629100000です。同様の質問で見たようなフォワードまたはバックスラッシュ(/ Date(1224043200000)/)はありません。ここに欠けている優れたコーディングプラクティスの要素があるかどうかはわかりません. 私のjsonファイルは、以下に入力された完全に有効です:
"events": [
{
"eventid": "4419605",
"facebookeventid": "",
"eventname": "",
"description": "",
"eventurl": "",
"additionallistingtext": "",
"status": "SalesEnded",
"tags": "",
"spotifyuri": "",
"dates": {
"startdate": "20120529010000",
"enddate": "20121231235500",
"onsaledate": "20120309084000",
"announcedate": "20120309115333",
"timezone": "EDT"
},
"venue": {
"venueid": "210795",
"name": "Online",
"venueurl": "",
"city": "Online",
"state": "",
"postalcode": "00000",
"country": "US",
"address": "Online",
"twitterid": "",
"venueimages": {
"large": "",
"small": ""
}
},
"eventimages": [""],
"prices": {
"pricelow": "$195.00",
"pricehigh": "$195.00",
"pricedisplay": "$195.00"
},
"attractionList": [
{
"sequence": "0",
"billing": "1.00",
"genre": "Seminar/Lecture",
"links": "",
"media": ""
},
{
"sequence": "1",
"billing": "0.75",
"links": "",
"media": ""
},
{
"sequence": "2",
"billing": "0.75",
"links": "",
"media": ""
}
]
},