如何解析Ajax成功的json数据

时间:2017-10-23 13:06:04

标签: javascript ajax

在Ajax调用上,我得到了像这样的response.responseText

.

"[  
   columns :[  
      {  
         "id":"name",
         "header":"User name"
      },
      {  
         "id":"birth",
         "header":"Date of birth"
      }
   ],
   data :[  
      {  
         "id":1,
         "firstname":"Adam",
         "lastname":"Smith"
      },
      {  
         "id":2,
         "firstname":"Tom",
         "lastname":"Brown"
      },

   ]
]"

现在如何将columnsdata分开并存储到两个不同的变量中?

我正在尝试使用此代码成功

success: function(conn, response, options, eOpts) {
    JSON.parse(conn.responseText);
}

我收到此错误: VM23977:2未捕获的SyntaxError:位置8的JSON中出现意外的令牌c     在JSON.parse()

如何解决此问题。

2 个答案:

答案 0 :(得分:1)

这不是有效的JSON。所有键必须用双引号括起来,在这种情况下,顶级应该是一个对象,而不是一个数组。数组不能有密钥。

{
   "columns" :[  
      {  
         "id":"name",
         "header":"User name"
      },
      {  
         "id":"birth",
         "header":"Date of birth"
      }
   ],
   "data" :[  
      {  
         "id":1,
         "firstname":"Adam",
         "lastname":"Smith"
      },
      {  
         "id":2,
         "firstname":"Tom",
         "lastname":"Brown"
      }
   ]
}

答案 1 :(得分:-1)

要解析json,首先需要一个有效的json字符串,而你的字符串不是

编辑:已经回答了