我想解析一些JSON,但它似乎我有壞的控制字符,即使http://jsonlint.com表明它是有效的。我需要改變什麼才能真正有效?問題解析有效的JSON
{"panes": [{"col": {"3": 1}, "row": {"3": 1}, "width": 1, "widgets": [{"type": "Slider", "settings": {"max": 100, "min": 0, "step": 1, "color": "grey", "onSlide": "// Example: Convert temp from C to F and truncate to 2 decimal places.\n// return (datasources[\"MyDatasource\"].sensor.tempInF * 1.8 + 32).toFixed(2);\n\n", "showvalue": 1, "initialvalue": "0"}}], "col_width": 1}], "columns": null, "plugins": [], "version": 1, "allow_edit": true, "datasources": []}
這是輸出形式JSONLint,它指示其有效JSON。當試圖用它來JSON.parse解析(),我得到的folling錯誤:
SyntaxError: JSON.parse: bad control character in string literal at line 1 column 235 of the JSON data
{
"panes": [{
"col": {
"3": 1
},
"row": {
"3": 1
},
"width": 1,
"widgets": [{
"type": "Slider",
"settings": {
"max": 100,
"min": 0,
"step": 1,
"color": "grey",
"onSlide": "// Example: Convert temp from C to F and truncate to 2 decimal places.\n// return (datasources[\"MyDatasource\"].sensor.tempInF * 1.8 + 32).toFixed(2);\n\n",
"showvalue": 1,
"initialvalue": "0"
}
}],
"col_width": 1
}],
"columns": null,
"plugins": [],
"version": 1,
"allow_edit": true,
"datasources": []
}
我試圖解析PHP對象屬性。
var js_object = JSON.parse('<?= php_object->json ?>');
HTTPS您可以直接訪問它,每一個對象:// EN .wikipedia.org/wiki/Byte_order_mark – diavolic
它已經是一個JS對象,你需要解析它 –
我只能猜測你把這個確切的值放入一個字符串文字(''...'')並嘗試來解析這個價值。這是行不通的,因爲轉義字符沒有正確轉義。所以,要麼[逃避轉義字符](https://jsfiddle.net/4p1zvzrs/)或更好,不要把它放在字符串文字中,也不要使用'JSON.parse',讓JavaScript將它評估爲對象文字。 –