有沒有辦法解析非格式化的JSON,除了使用eval
?如何解析非格式化的JSON(可能使用jQuery)
的背景是,我使用數據標籤的值來繪製這樣的曲線圖:
<div id="data" data-idata="[1,2,3]" data-sdata="['foo','bar','baz']"></div>
這與數值完美的作品,這些值直接在jQuery的數據傳送作爲陣列,無需要在這裏解析JSON。
但是,對於標籤,要傳遞一個字符串數組。 eval
可以解析字符串sdata
就好了,但JSON.parse
和jQuery.parseJSON
失敗,因爲它的格式不正確。
var $data = $("#data").data(),
values;
// use eval
out("#out", eval($data.sdata)); // works...
// use JSON.parse
try
{
values = JSON.parse($data.sdata);
} catch(e) {
// silent catch
}
out("#out1", values); // values is undefined
我把一個JsFiddle here放在一起檢查的東西。
準時標點符號,javascript中的缺陷之一。 – Nzall