0

我收到如下回复

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

2 回答 2

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

JavaScript 无效 - 由于解析失败,因此无法在同一脚本/脚本块中修复它。

您可能需要消除一些人为服务器上的这段脚本所做的额外 HTML 编码。

如果它是某个 AJAX 调用接收到的文本,您应该能够"用相应的字符替换和类似的值,而不是用 JSON.parse 解析。

于 2012-04-14T07:20:40.060 回答
0

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

于 2012-04-14T07:43:02.577 回答