2015-11-14 38 views
0

如何獲取事件對象 - >性能 - >名稱&發生此json文件https://api.myjson.com/bins/w05x使用javascript。由於json API不斷更改格式,因此無法使用正則表達式。由於JSON - 從正則表達式到JSON

+2

請參閱[安全地將JSON字符串轉換爲對象](http://stackoverflow.com/questions/45015/safely-turning-a-json-string-into-an-object)和[Access/process(nested )的對象,數組或JSON](http://stackoverflow.com/questions/11922383/access-process-nested-objects-arrays-or-json) –

+0

你可以請顯示你已經嘗試過嗎?只需訪問以JSON形式提供的數據,就不需要使用Regex。雖然文檔中的數據可能會發生變化,但數據的結構/排列應該保持相當類似(根值是一個對象,它的「事件」是一個包含更多對象的數組等等),禁止API背後的開發人員非常不一致。如果您不確定如何開始,那麼鏈接的第二個問答就如何遍歷包含您想訪問的數據的對象和數組提供了一個很好的解釋。 –

+0

我試過這個正則表達式(?<= occurrence_at \「\:\」)。*?(?= \「)|(?<= \」performer \「\:\ {\」slug \「\:\」) 。*?(?= \「\,\」)|(?<= location \「\:\」)。*?(?= \,\「)和amaybe一兩個星期發生變化,所以我必須更新正則表達式每當它發生時 –

回答

0

使用JSON parser

obj = JSON.parse(json_string); 

然後你

obj.events[event_index].performances[performance_index].performer.name 

obj.events[event_index].name 

obj.events[event_index].occurs_at 

列出所有事件的JSFiddle example屬性nameoccurs_at訪問它。

+0

對不起,你可以在jsfiddle或codepen上顯示它,謝謝,感謝你的回答 –

+0

@markosmarkos我添加了一個JSFiddle的例子 –

+0

OMG!非常感謝gre_gor。 –