在Web開發中,經常會需要使用JavaScript來與服務器進行數據交互。其中,在服務端返回數據時,常見的格式有XML和JSON兩種,兩者的優劣不必多說,但JSON因為其輕量級、易讀性好等優點,已逐漸成為主流的格式。
在JavaScript中,我們可以通過AJAX或者Fetch等API來獲取服務器返回的JSON數據。獲取到數據之后,我們可以對其進行解析,然后使用解析后的數據來進行頁面的渲染、交互等操作。在解析JSON數據的時候,JavaScript提供了一個非常方便的方法:JSON.parse()。
JSON.parse()方法接收一個JSON字符串作為參數,并將其解析成一個JavaScript對象。但有時候,在服務器端并不是直接返回一個JSON字符串,而是將JSON字符串包裹在一個function中,比如:
callback({"name": "Jack", "age": 18})
此時,我們在客戶端獲取到的數據就是一個function,而不是JSON字符串。那么,在這種情況下,我們應該如何解析數據呢?可以將function作為參數傳給一個新的function,并在新的function中調用它,如下所示:
function handleData(data) { var jsonData = JSON.parse(data); console.log(jsonData); } var jsonString = '{"name": "Jack", "age": 18}'; var callback = function(data) { handleData(data); }; callback(jsonString);
這樣,我們就成功將獲取到的function解析成了一個JSON對象,并可以進行后續的操作了。
上一篇AG網格-找不到圖標