Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript json eval给出了一个错误_Javascript_Json - Fatal编程技术网

Javascript json eval给出了一个错误

Javascript json eval给出了一个错误,javascript,json,Javascript,Json,我对下面的JSON使用eval,但得到语法错误:应为']'消息。我没有得到我所缺少的东西。 我的javascript stmt是 eval('var jsonResponse = ('+response+')'); 答复包括以下内容: {iserror:"false",employees:["employee":{"employeeNbr":"SAN1234509","emplType":"SAN","agencyNbr":"","producerNbr":"123456789","rem

我对下面的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":{...}
   ]
}
“员工”
之后的
是错误的。也许你想用

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

还有,你有

"producerNbr":"1234567890,"remiCode":"SA"
而不是

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

如果只看语法突出显示,您会注意到,这不是有效的代码。一般来说,尝试使用
JSON.parse()
执行此类任务,但您的数据必须是“真实”的JSON。这不是JSON。例如,
iError
周围需要引号才能成为JSON,JSLint讨厌那里的对象……我会去查看它以查看所有错误:www.JSLint.com
,“
应该是
”,
producerNbr的第二行:
:“1234567890”,remiCode“:另外,不要自己创建/解析JSON,请使用@VisioN之类的序列化程序。