Javascript JSON响应AJAX中的错误格式

Javascript JSON响应AJAX中的错误格式,javascript,json,ajax,Javascript,Json,Ajax,我有下面的代码,它是调用其他PC服务器中的web服务。 数据参数正常 "{ ControlId: 'ZAsociated_26037', TaskId: 1495613, UserId: 166396, TBodyId: ''}" 错误是,当我有WS的data.d结果时,JSON在字符串中添加adicionals“\”字符: 回应的开始: [{“Nombre del Documento\”:“Regumentzacion/Factura.22076-Proveedor-Sin:38653 G

我有下面的代码,它是调用其他PC服务器中的web服务。 数据参数正常

"{ ControlId: 'ZAsociated_26037', TaskId: 1495613, UserId: 166396,  TBodyId: ''}"
错误是,当我有WS的data.d结果时,JSON在字符串中添加adicionals“\”字符:

回应的开始: [{“Nombre del Documento\”:“Regumentzacion/Factura.22076-Proveedor-Sin:38653 Global:No\”,“Estado\”:“Pago finalizado\”,

我试图将“\”替换为空字符串,但它不起作用

当成功调用loadAsociatedTable函数时,此AJAX将执行以下操作:

 for (var i = 0; i < $.parseJSON(data).length;i++){
for(var i=0;i<$.parseJSON(data).length;i++){
并且在$.parseJSON(data).length中有一个错误,因为不将此字符串转换为对象


我签入了Chrome,JSON没有问题,没有这个栏“\”,并认识到像对象一样,问题只存在于IE v.11中。

服务器的JSON响应无效。一些服务器程序员误解了JSON双引号转义,并试图在任何地方应用它。让服务器返回有效的JSON。大多数服务器环境都有标准的JSON库,这些库将构造不无效的JSONd、 正确的JSON当然只是

[{"Nombre del Documento":"Indemnizacion/Factura. 22076 - Proveedor - Sin: 38653 Global: No","Estado":"Pago finalizado", ...
您可以尝试自己修复JSON,方法是将
\“
替换为
,这将非常简单

replace(/\\"/g, '"')

但问题是,您还将破坏字符串值中表示双引号的序列。这是一个相当棘手的问题。因此,最好的解决方案是让服务器发送正确的JSON开始。

您能发布完整的JSON来帮助我分析吗 同时试试这个

对data.d使用Eval,比如Eval(“{”+data.d+“}”)

或JSON.Parse(data.d)


尝试在此处验证json

最后我可以解决问题,我使用了json.parse()而不是$.parseJSON(),可能是JQuery版本。AJAX响应包含此附加值“\”,但当我解析此对象时,JS会毫无问题地转换它。
感谢您的帮助!

您从
$.parseJSON(data)
收到的错误消息是什么?并且,
data
是否是
loadAsociatedTable()
的第二个参数?您是否同时尝试了
.replace()
$.parseJSON()
?是否尝试了
$.parseJSON(data.d)
success
中,$.parseJSON(数据)的错误。长度为“对象不支持属性或方法'parseJSON'”,JSON不正确,包含其他内容\,当我尝试获取对象的长度时,出现了此错误。是的,loadAsociatedTable的第二个参数是此AJAX的响应。此错误与
$
对象本身没有
解析JSON()有关
方法。您是否使用jQuery或类似的库来处理
$
?您使用的是什么版本?在jQuery中,添加了1.4.1,在较低版本中不可用。您最后一个问题的回答是:是的,但我在JSON的一些参数中有很多“\”,最新的行是:\“Estado requestud x liquidador\”:null\“荣誉表格”:null,“加斯托斯表格”:null,“Ruta Documento\”:“\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\13\\\\\\\\\\\\4859528.pdf\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\赔偿/事实:22034576-证明人-Sin:3865233全球:否,“,”Estado“:”Pago finalizado“,”ID Comprobante“:”2250476,“,”Nro de Siniestro“:”38653,“,”扇区“:”Siniestros Ramas Varias“,”Rama“:”INTEGRAL COMERCIO“,”Administrración“:”null,“,”Ingrepor“:”prettimaur“,”Tipo“,”受益人“:”Proviero“,”受益人:”ESTUDIO SANTAMARINA SA\“,”Proveedor\“:null,\”Nro Orden de Pago\“:230934562,\”Fecha propuesta por Siniestros\”:null,\”Fecha Comprobante\“:\“\”/日期(1378782000000)\/”]“我在Chrome中进行了检查,JSON是正常的,没有此条“\”,并且认识到,就像对象一样,问题只存在于IE v.11中。
replace(/\\"/g, '"')