Javascript JSON.parse无法从字符串创建对象
我正在使用RubyonRails创建一个cookie,它将包含请求参数的数组作为字符串返回给视图。但是,我在解析该字符串时遇到以下错误:Javascript JSON.parse无法从字符串创建对象,javascript,ruby-on-rails,json,ruby,Javascript,Ruby On Rails,Json,Ruby,我正在使用RubyonRails创建一个cookie,它将包含请求参数的数组作为字符串返回给视图。但是,我在解析该字符串时遇到以下错误: JSON.parse('%7B%22specialty%22%3A%5B%22Anesthesiology%22%5D%7D') Uncaught SyntaxError: Unexpected token % in JSON at position 0 如何解决此问题?您需要先使用decodeURIComponent对字符串进行解码 JSON.parse
JSON.parse('%7B%22specialty%22%3A%5B%22Anesthesiology%22%5D%7D')
Uncaught SyntaxError: Unexpected token % in JSON at position 0
如何解决此问题?您需要先使用
decodeURIComponent
对字符串进行解码
JSON.parse(decodeURIComponent(
'%7B%22specialty%22%3A%5B%22Anesthesiology%22%5D%7D'
));
当字符串被编码时。一旦你解码了它,你就得到了键值对,即字符串形式的对象。现在可以使用
JSON.parse
来形成Javascript对象 首先需要使用decodeURIComponent
对字符串进行解码
JSON.parse(decodeURIComponent(
'%7B%22specialty%22%3A%5B%22Anesthesiology%22%5D%7D'
));
当字符串被编码时。一旦你解码了它,你就得到了键值对,即字符串形式的对象。现在可以使用
JSON.parse
来形成Javascript对象 字符串不是有效的json
它是uri编码的,所以使用
该字符串不是有效的json 它是uri编码的,所以使用
其他答案是正确的,即负载是URI编码的,但是
decodeURIComponent
只是一个javascript方法。要在ruby端对其进行解码,请使用
您说您正在使用rails,因此URI对象应该已经可用,但是如果您没有使用rails,您需要首先
要求“URI”
。其他答案说负载是URI编码的,但是decodeURIComponent
只是一个javascript方法。要在ruby端对其进行解码,请使用
您说您正在使用rails,因此URI对象应该已经可用,但如果您没有使用rails,则需要
首先要求“URI”
。未捕获的语法错误:
可能是javascript错误。未捕获的语法错误:
可能是javascript错误。
JSON.parse(URI.unescape('%7B%22specialty%22%3A%5B%22Anesthesiology%22%5D%7D'))