Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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中位置13处的意外标记c_Javascript_Json_Parsing_Jsonparser - Fatal编程技术网

Javascript 未捕获的语法错误:JSON中位置13处的意外标记c

Javascript 未捕获的语法错误:JSON中位置13处的意外标记c,javascript,json,parsing,jsonparser,Javascript,Json,Parsing,Jsonparser,我有一个字符串(var),在javascript中解析为JSON。但一旦我这样做了,我就会得到一个错误 未捕获的语法错误:JSON中位置13处的意外标记c 是什么导致了这个错误?这是因为任何特殊字符吗?首先,您的JSON无效。其次,它不是一个JSON字符串,而是一个JavaScript对象本身。不需要再次解析它。如果对象有效,则可以直接访问它,而无需进一步解析 这是我修正的数据 var DL_response = { "result":{ "cov

我有一个字符串(var),在javascript中解析为JSON。但一旦我这样做了,我就会得到一个错误

未捕获的语法错误:JSON中位置13处的意外标记c


是什么导致了这个错误?这是因为任何特殊字符吗?

首先,您的JSON无效。其次,它不是一个JSON字符串,而是一个JavaScript对象本身。不需要再次解析它。如果对象有效,则可以直接访问它,而无需进一步解析

这是我修正的数据

var DL_response = {
   "result":{
      "cov_details":[
         {
            "issue_date":"UNIT OFFICE,NEYVELI",
            "cov":"MCWG"
         }
      ],
      "dl_number":"TN39Y20100000784",
      "address":"PERIYA COLONY KO PAVAZHANGUDI  VIRUDHACHALAM TK",
      "issue_date":"24-03-2020",
      "dob":"21-03-1971",
      "name":"VICNESWARANS",
      "blood_group":"",
      "validity":{
         "transport":"",
         "non-transport":"24-03-2010 to 23-03-2030"
      },
      "father_husband":"SELVARAJ",
      "status-code":"101",
      "request_id":"a9642ae9-2f10-4e9a-9f7e-c3ee1a9a2dbe"
   }
}

console.log(DL_response.result.dob)
// output: 21-03-1971

无效的json。使用诸如json validato之类的在线工具来验证json,因为json在第13位是无效的,根据json语法规则,在该位置发现了一个不符合预期的
c
。您需要修复生成JSON的任何内容。如果它真的以
{“result”开头:“{”c
,它确实是无效的,因为第四个
(就在
c
之前)关闭在两个字符之前启动的字符串。看起来生成该结果的任何东西都是手动生成字符串,这是一种反模式。相反,在内存中构建结果结构,并使用平台中内置的任何JSON序列化来序列化整件事。如错误所示,JSON无效。您的
DL_response
甚至不是一个字符串。你将如何解析它?假设在发布时丢失了转义符,那么在错误的位置仍然有大量引号。。。
var DL_response = {
   "result":{
      "cov_details":[
         {
            "issue_date":"UNIT OFFICE,NEYVELI",
            "cov":"MCWG"
         }
      ],
      "dl_number":"TN39Y20100000784",
      "address":"PERIYA COLONY KO PAVAZHANGUDI  VIRUDHACHALAM TK",
      "issue_date":"24-03-2020",
      "dob":"21-03-1971",
      "name":"VICNESWARANS",
      "blood_group":"",
      "validity":{
         "transport":"",
         "non-transport":"24-03-2010 to 23-03-2030"
      },
      "father_husband":"SELVARAJ",
      "status-code":"101",
      "request_id":"a9642ae9-2f10-4e9a-9f7e-c3ee1a9a2dbe"
   }
}

console.log(DL_response.result.dob)
// output: 21-03-1971