【问题标题】:Could somebody tell me why json2.js cannot parse this string?有人能告诉我为什么 json2.js 不能解析这个字符串吗?
【发布时间】:2010-01-08 20:14:45
【问题描述】:

我正在尝试用 json2.jsjson.org 转换一个相当复杂的 JSON 字符串,但我一直收到解析错误。不幸的是,我无法弄清楚它在抱怨哪个角色,或者我是否错过了某个地方的逃脱。在这一点上,如果我能得到第二双眼睛就太好了。感谢所有帮助的人!

var jsonOriginal = "{\"type\":\"ExecuteScript\",\"id\":\"\",\"markup\":\"var scranvas = null;scranvas = lifeware.getControl('c-4246999b-11c6-44ee-8672-9654de2eb52d');scranvas.addItem('6402c984-de0d-46b3-9b0b-88cae64d21ca','<div id=\"c-6402c984-de0d-46b3-9b0b-88cae64d21ca\" class=\"container-item\" onmouseover=\"lifeware.fireEvent('6402c984-de0d-46b3-9b0b-88cae64d21ca', 'GotFocus', null);\" onmouseout=\"lifeware.fireEvent('6402c984-de0d-46b3-9b0b-88cae64d21ca', 'LostFocus', null);\" onfocus=\"lifeware.fireEvent('6402c984-de0d-46b3-9b0b-88cae64d21ca', 'GotFocus', null);\"><label style=\"position:absolute;white-space:nowrap;overflow:hidden;height:50px;width:147px;color:#FFFFFF;text-align:left;font-weight:normal;text-decoration:normal;font-style:normal;font-size:18px;font-family:Segoe UI;left:0px;display:block;filter:alpha(opacity=100);opacity:1;\" id=\"c-101a5ec4-ce1b-4ca1-bd50-c289e4d27d45\">Item 0</label></div>');\"}";
var operation = JSON.parse(jsonOriginal);

【问题讨论】:

    标签: javascript json parsing


    【解决方案1】:

    键 'markup' 的值以引号终止:...

    通常json编码器会为你处理转义,例如:

    var data = {type: 'ExecuteScript', id: '', markup: '"var... <div id="'}
    var js = JSON.stringify(data)
    

    在您的示例中,您希望转义转义字符,以便将其保留并传递给 parse()

    <div id=\\\"
    

    【讨论】:

    • 谢谢,我没有意识到我需要逃脱。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-04
    • 2021-12-26
    • 2022-10-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多