Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 解析有效JSON时出现问题_Javascript_Json - Fatal编程技术网

Javascript 解析有效JSON时出现问题

Javascript 解析有效JSON时出现问题,javascript,json,Javascript,Json,我试图解析一些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

我试图解析一些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()解析它时,我得到了一个错误:

SyntaxError:JSON.parse:JSON数据第1行第235列的字符串文本中的错误控制字符

{
    "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 ?>');
var js_object=JSON.parse(“”);

您不需要解析数据,您可以使用Javascript
dot
[括号]
符号直接访问数据和每个对象

var数据={
“窗格”:[{
“col”:{
"3": 1
},
“行”:{
"3": 1
},
“宽度”:1,
“小部件”:[{
“类型”:“滑块”,
“设置”:{
“最大”:100,
“min”:0,
"步骤":一,,
“颜色”:“灰色”,
“onSlide”:“//示例:将温度从C转换为F,并截断到小数点后2位。\n//返回(数据源[\'MyDatasource\'].sensor.tempInF*1.8+32)。toFixed(2);\n\n”,
“showvalue”:1,
initialvalue:“0”
}
}],
“颜色宽度”:1
}],
“列”:空,
“插件”:[],
“版本”:1,
“允许编辑”:true,
“数据源”:[]
}

console.log(data.panes)它已经是一个JS对象,您需要解析它。我只能猜测您是否将该确切值放入字符串文本(
“…”
)并尝试解析该值。因为转义字符没有正确转义,所以这不起作用。因此,或者更好,不要将它放在字符串文本中,也不要使用
JSON.parse
,让JavaScript将其作为对象文本进行计算。这是正确的。但并非每个字符串值都是通过字符串文本创建的。您可以将JSON编码的数据存储在本地存储器(cookie)中,从web worker或通过XHR请求接收数据?是什么让您认为数据在JS源代码中?服务器可能返回了带有适当头的响应,因此不需要解析它again@gaganshera:不会自动分析服务器响应。您可能正在考虑jQuery。另外,如果数据已经被解析,并且OP试图将一个对象传递给
JSON.parse
,则错误将不同。是的,我假设ajax函数已经解析了响应,我是从php变量获取JSON。但我认为我不能仅仅使用字符串作为javascript对象。我试图
var js_object=JSON.parse('