0

我在 c# 中的对象列表上构建并return Json(thisVar) 从我的控制器返回它, public async Task<JsonResult> 然后在我的 CSHTML 中我有这个:

$.get(url,
      dataObject, 
      function (response) {
         alert(response);
         var allRes = JSON.parse(response);

我的第一个警报节目[object Object]

但得到一个错误:

未捕获的 SyntaxError:位置 1 处 JSON 中的意外标记 o

4

4 回答 4

0

response已经是一个对象 - 无需解析它。

...
function (response) {
    var arr = response.riskPoint;
    for(var i = 0;i<arr.length;i++){
        // read arr[i];
    }

}
于 2019-04-04T10:54:23.070 回答
0

如果您的第一个警报显示 JS 对象,那么您的对象已经被 JSON 解析,您不需要JSON.parse

服务器可能会返回包装在对象中的数组,例如 response.thisVar,如果您执行 console.log,您会找到它

于 2019-04-04T10:55:00.953 回答
0

正确的答案是它已经是 json 了,所以我需要循环并只使用 json 对象。我不得不在 [] 中使用标签作为字段名称感谢所有答案。console.log 特别有用

于 2019-04-05T11:04:47.077 回答
-1

JSON.parse()是将文本转换为 JavaScript 对象,反之亦然。

你能重新检查你的代码吗?响应已经是 JSON。JSON.stringify 将帮助您将其打印为文本。

例如:

`var obj = JSON.parse('{ "name":"John", "age":30, "city":"New York"}');`
于 2019-04-04T10:54:54.480 回答