原因是因为 {"key":"value"} 是编码 JSON 字符串的正确方法。您在应用程序中看到的 { key: "value" } 编码字符串通常是定义字符串的一个方便因素,因为在通过 HTTP 推送这种结构化字符串之前,它被翻译(在幕后)到 {"key ":"值"} 格式。
将来,如果您遇到 JSON 字符串问题并担心可能是因为 JSON 字符串格式不正确,请尝试将 JSON 字符串粘贴到 JSONlint ( http://jsonlint.com/ )。
如果你去那里尝试这个字符串,你会看到它失败:{ key:“value”}如果你尝试这个,它会通过:{“key”:“value”}
希望这可以帮助....
编辑 哇......如果我真的阅读我正在写的东西,我猜它会有所帮助。重点就在上面,但我一定是脑子里放了个屁,因为它很难破译。所以,这是第二次尝试这个哈哈..
您的第一个示例失败的原因是因为它的结构根据 JSON 标准无效:
{route:"/tasks/4f9218a27e5c8f0000000000"} // This is invalid...
正确的有效键/值对具有用双引号括起来的键和值:
{ "route" : "/tasks/4f9218a27e5c8f0000000000" } // This IS valid.
定义 JSON 字符串的标准可以在这里看到:http: //www.json.org/
JSONLint 站点 ( http://jsonlint.com ) 是一个非常好的资源,可用于在实际使用 JSON 字符串之前快速测试它的有效性,同时也是调试可能失败的 JSON 字符串的好方法解析器验证测试。
我希望这会有所帮助嘿..