2010-11-20 22 views
0

我正在尋找沒有預定義知識的JSON對象的結構。爲了詳細說明,我可以給予對未知結構的JSON進行解碼

[{"x":0,"y":0.4991088274400681,"z":7.489443555361306}, {"x":0,"y":0.7991088274400681,"z":7.489343555361306},{"x":0,"y":0.5991088274400681,"z":7.482445555361306}] 

,甚至一些瘋狂的喜歡:

'AL': {name:'Alabama', landarea:131426, waterarea:4338, population:[3525342,4243844]}, 
'AK': {name:'Alaska', landarea:1418400, waterarea:234324, population:[43230943,43230943]} 

換句話說,我不知道什麼樣的JSON的,我會得到,但我想知道在第一個中有x,y和z,第一個有相關的值,或AL,AK和名字,landarea,waterarea和一組數字。

這有點像在Excel中獲取列標題。 雖然我知道會有重複的結構。

是唯一的方法來解析這個通過使用JSON_decode,然後做typeOf考試,看看我有什麼是對象/數組/字符串?它似乎相當笨重。

+3

我會問新的API,它不應該返回給你一個請求的兩個不同的數據集 – mpapis 2010-11-20 23:18:21

+0

這不是說API是返回不同的數據集,它只是解析用戶提供的JSON,可以以不同的格式。我知道有點危險。 – Rio 2010-11-21 01:41:26

回答

3

瀏覽器的本機JSON解碼函數可以處理任何格式良好的JSON。你想要的是一個功能,可以瞭解解碼後的JSON。這是不可能的,至少不是當你完全沒有事先知道或處理數據的時候。但是,如果您只想知道每個組件的數據類型,那麼typeof將正常工作。

+0

同意 - json_decode已經告訴你,屬性x有一個y元素的數組,例如......它是隱含的。似乎OP正試圖收集額外的語義,並且沒有*一些*先前的知識就沒有辦法做到這一點。 – Hamish 2010-11-20 23:21:17

+1

謝謝。至少我可以繼續,不用擔心太多,我試圖重新發明輪子。 – Rio 2010-11-21 00:30:18