我的回复如下
var val = {"Type"=>"D","Number"=>33"}
从上面我尝试改变这样
var MyArray = {"Type": "D", "Number": "33"};
for(key in MyArray)
{
alert("key " + key
+ " has value "
+ MyArray[key]);
}
我尝试更换,更换除了那些不起作用的所有。有什么建议吗?
从评论中粘贴的服务器端代码......
new_transfer_header = @params['my_extra_param']
p new_transfer_header,'------------ ew_transfer_header----------,new_transfer_header.class
WebView.execute_js("replaceDeliveryWithScanUnit('#{new_transfer_header}')")
puts result as "{\"Type\"=>\"D\", \"Number\"=>\"33\"}
答案 0 :(得分:2)
var val = {"Type"=>"D","Number"=>33"}
JavaScript无效 - 由于解析失败,无法在同一个脚本/脚本块中修复它。
可能您需要消除somone为服务器上的这一块所做的额外HTML编码。
如果是某些AJAX调用收到的文本,您应该能够用相应的字符替换"
和类似的值,而不是用JSON.parse解析。
答案 1 :(得分:0)
你可以在我认为的结果上使用string.replace和cal eval,但是从服务器获取有效的json会更好吗?