我正在爲向我發送一個XML的應用程序工作,以便我可以使用它中的數據。但是現在,應用程序不僅會發送XML,還會發送JSON,具體取決於其他變量。如何驗證某個字符串是否爲JSON?
有什麼方法可以驗證發送的內容是否是JSON?相當於typeof
或instanceof
那會告訴我該字符串是一個JSON?
編輯:我在使用非常非常糟糕的編程框架構建的應用程序中進行維護。現在我的「數據」是函數的返回,我不能在不重構框架的很好部分的情況下獲得內容類型 - 這需要幾個月的時間 - 而現在我沒有這個時間。
現在:
ajax.request('POST',function(data){
xml = loadXML(data); // It's always a XML, so I simply load it.
...
..
})
我需要什麼:
ajax.request('POST',function(data){
if(valueCanBeJSON(data)){ // It's not always a XML. How can I do this verification?
json = eval('('+data+')');
}else{
xml = loadXML(data);
...
..
}
})
服務器應該用* Content-Type *頭域指定響應類型。 – Gumbo 2011-05-12 14:31:39
好吧,如果它的xml的第一個字符將是'<' – 2011-05-12 14:32:14
typeof可能只會說「字符串」或「文本」,因爲這是什麼XML和JSON時,他們穿過電線,並得到填充到您的響應處理程序變量。只有在通過jquery/javascript進行後處理後,它們才能成爲JS本地數組/對象。 – 2011-05-12 14:43:14