当前位置: 首页 > 面试题库 >

SyntaxError:JSON中位置1处的意外令牌o

凌永逸
2023-03-14
问题内容

我在控制器中使用类型类解析了一些数据,如下所示:

{  
   "data":{  
      "userList":[  
         {  
            "id":1,
            "name":"soni"
         }
      ]
   },
   "status":200,
   "config":{  
      "method":"POST",
      "transformRequest":[  
         null
      ],
      "transformResponse":[  
         null
      ],
      "url":"/home/main/module/userlist",
      "headers":{  
         "rt":"ajax",
         "Tenant":"Id:null",
         "Access-Handler":"Authorization:null",
         "Accept":"application/json, text/plain, */*"
      }
   },
   "statusText":"OK"
}

我试图像这样存储数据

var userData = _data;
var newData = JSON.parse(userData).data.userList;

如何将用户列表提取到新变量?


问题答案:

您发布的JSON看起来不错,但是在您的代码中,它很可能不再是JSON字符串,而已经是JavaScript对象。这意味着不再需要解析。

您可以自己对此进行测试,例如在Chrome的控制台中:

new Object().toString()
// "[object Object]"

JSON.parse(new Object())
// Uncaught SyntaxError: Unexpected token o in JSON at position 1

JSON.parse("[object Object]")
// Uncaught SyntaxError: Unexpected token o in JSON at position 1

JSON.parse()将输入转换为字符串。toString()默认情况下,JavaScript对象的方法返回[object Object],从而导致观察到的行为。

请尝试以下操作:

var newData = userData.data.userList;


 类似资料:
  • 问题内容: 在处理类似于Facebook的内容提要的React应用程序组件中,我遇到了一个错误: Feed.js:94未定义的“ parsererror”“ SyntaxError:JSON中位置0处的意外令牌< 我遇到了一个类似的错误,事实证明这是render函数中HTML的错字,但这里似乎并非如此。 更令人困惑的是,我将代码回滚到了较早的已知工作版本,但仍然出现错误。 Feed.js: 在Ch

  • 问题内容: 仅在结帐时和在各个产品页面上,我在控制台日志中收到以下错误: 我正在使用一页结帐扩展程序,但是当我禁用该功能时,该错误仍然会显示。我认为这可能与产品页面上的评论有关(因为我将评论移出了选项卡),但是撤消该更改并不能解决产品页面上的错误。 问题答案: 在控制台中尝试: 这是您将得到的: 换句话说,您的应用正在尝试解析,这是无效的JSON。 有两个常见原因。第一个是您可能引用的是不存在的属

  • 问题内容: 在处理类似于Facebook的内容提要的React应用程序组件中,我遇到了一个错误: Feed.js:94未定义“ parsererror”“ SyntaxError:JSON中位置0处的意外令牌< 我遇到了类似的错误,事实证明这是render函数中HTML的错字,但这里似乎并非如此。 更令人困惑的是,我将代码回滚到了较早的已知工作版本,但仍然遇到错误。 Feed.js: 在Chrom

  • 问题内容: 我想在react js中获取我的Json文件,为此我正在使用。但是显示错误 可能是错误,我不知道。我什至验证了我的JSON。 我的杰森(fr.json) 问题答案: 添加两个标题,并等于。

  • 我用的是Angular 5.0.0。我想连接。但是,当您启动应用程序时,就会发生错误。

  • 我在Ionic 2“syntaxerror:uncurrent token 下面是我的Spring Boot代码。 [{“ID”:1,“用户名”:“donald@yahoo.com”,“策略”:“v121293031”,“名称”:“唐纳德”,“移动”:“0504735260”,“电子邮件”:“dcgatan@gmail.com”,“地址”:“Dafza dubai”,“金额”:800.98,“da