json-eval给出错误

json eval giving an error

本文关键字:错误 出错 json-eval      更新时间:2023-09-26

我对以下JSON使用eval,但得到语法错误:应为']'消息。我没有得到我所缺少的东西。我的javascript stmt是

eval('var jsonResponse = ('+response+')');  

响应包含以下内容:

{iserror:"false",employees:["employee":{"employeeNbr":"SAN1234509","emplType":"SAN","agencyNbr":"","producerNbr":"123456789","remiCode":"SA","agentRate":"SA","typeCode":"I","reasonTxt":"S3","rsnDescription":"null","ymdeff":"20130101","ymdend":"20130101","voidtxt":"V","brokerName":"429610583","brokerNpn":"429610583","ymdtrans":"null","opNbr":"null"},
                            "employee":{"employeeNbr":"SAN1234509","emplType":"SAN","agencyNbr":"xxxxx-C","producerNbr":"1234567890,"remiCode":"SA","agentRate":"SA","typeCode":"I","reasonTxt":"S3","rsnDescription":"null","ymdeff":"20130101","ymdend":"20130101","voidtxt":"","brokerName":"429610583","brokerNpn":"429610583","ymdtrans":"null","opNbr":"null"},
                            "employee":{"employeeNbr":"SAN1234509","emplType":"SAN","agencyNbr":"","producerNbr":"123456789","remiCode":"SA","agentRate":"SA","typeCode":"I","reasonTxt":"S3","rsnDescription":"null","ymdeff":"20130101","ymdend":"20130101","voidtxt":"V","brokerName":"429610583","brokerNpn":"429610583","ymdtrans":"null","opNbr":"null"}]}

对于初学者来说,您声称它是JSON,但事实并非如此。例如,iserror周围的引号需要是JSON。

具体而言,

{iserror:"false",employees:[...]}

应该是

{"iserror":"false","employees":[...]}

但是,由于您实际上将字符串传递给了JavaScript解析器(eval),因此它只需要是JavaScript,而不是JSON。它也不是有效的JavaScript,这就是您收到错误的原因。

你有

{
   iserror:"false",
   employees:[
      "employee":{...},
      "employee":{...},
      "employee":{...}
   ]
}

"employee"之后的:错误。也许你打算用

{
   iserror:"false",
   employees:[
      {...},
      {...},
      {...}
   ]
}

另外,你有

"producerNbr":"1234567890,"remiCode":"SA"

而不是

"producerNbr":"1234567890","remiCode":"SA"
相关文章: