Javascript 如何将字符串解析为json

Javascript 如何将字符串解析为json,javascript,jquery,json,Javascript,Jquery,Json,我在将字符串解析为json时遇到问题。 我要做的步骤: 我有用cookie编码的字符串数据 要获取我使用的字符串,请执行以下操作: var data = Base64.decode('W3sidCI6MTM4NTg5MjE4MDAwMCwiZiI6MSwiayI6ImZzZGYifV0$') 现在变量数据等于: "{"testes":[{"d":1386081060000,"f":1,"t":"da"},{"d":1386081060000,"f":1,"t":"test"}]}" 然后我想

我在将字符串解析为json时遇到问题。 我要做的步骤:

我有用cookie编码的字符串数据 要获取我使用的字符串,请执行以下操作:

var data = Base64.decode('W3sidCI6MTM4NTg5MjE4MDAwMCwiZiI6MSwiayI6ImZzZGYifV0$')
现在变量数据等于:

"{"testes":[{"d":1386081060000,"f":1,"t":"da"},{"d":1386081060000,"f":1,"t":"test"}]}"
然后我想将
数据
字符串解析为json
所以我正试着去做

JSON.parse(data)
我犯了一个错误。我想这是因为开头和结尾的双引号。
有人能帮我吗?

你可以在这里在线验证json

有效格式如下所示

[
    {
        "enc": "dsad"
    }
]

引号很好,但请尝试删除后面的逗号:

改变

"[{"enc":dsad,}]" 


除非删除数组中最后一个元素的尾随逗号,否则脚本在IE中无法工作。您的浏览器控制台(F12)是否向您抛出错误?

在编辑问题之前

您的JSON有两个问题

  • 用逗号拆分的对象属性不应包含尾随逗号(缺少最终属性)

  • 对象属性值应为以下类型之一:
    string、number、Object、array、true、false、null
    ()

  • 这意味着您的示例中正确的JSON应该是:

    [{"enc":"dsad"}]
    
    注意:包装示例的引号可能只是您的浏览器控制台输出的字符串,这些引号不太可能真的存在-如果存在,那么您需要删除它们

    问题编辑后

    由于问题的更新,新提供的JSON示例有效,但包装引号除外。这些需要删除,可以使用以下javascript完成:

    data = data.substring(1, data.length - 1);
    

    为了验证JSON,您有一个额外的逗号,后面没有属性。尝试删除它。不是有效的json。。。VALID>'[{“enc”:“dsad”}]'如果您有错误消息,那么您应该始终在问题中包括逗号不是唯一的问题,请参阅问题的注释
    data = data.substring(1, data.length - 1);