Javascript替换等号

我收到的回复如下

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\"} 

 var val = {"Type"=>"D","Number"=>33"} 

是无效的JavaScript – 由于解析失败,无法在同一个脚本/脚本块中修复它。

可能你需要消除在服务器上为这块脚本做的somone所做的额外HTML编码。

如果是某些AJAX通话收到的文字,你应该能够取代" 和具有相应字符的类似值,而不是使用JSON.parse进行解析。

你可以在我认为的结果上使用string.replace和cal eval,但是从服务器获取有效的json会更好吗?