【问题标题】:JSON parsing error shows syntax errorJSON解析错误显示语法错误
【发布时间】:2016-01-29 20:36:43
【问题描述】:

我正在从服务器获取这个 json:

{"cust":[{"email":"harsht283raj@tyu.com","url":"www.uzti.com"},
        {"email":"harshit.raj@tyu.com","url":"www.url.com"}]}

我在 JsonLint 网站上检查了这个 json,它显示了有效的 json。 但我已经通过 Javascript 检索元素。当我执行此 JSON.parse(json) 时,我收到以下错误:

SyntaxError: JSON.parse: JSON 数据的第 1 行第 9 列的 JSON 数据后出现意外的非空白字符。 即使我直接使用jaon.cust,它也显示未定义 我该如何解决这个问题?

【问题讨论】:

  • 如果你在JSON.parse(json)之前做console.log(json),你得到的结果和你在这里粘贴的json数据完全相同吗?
  • 是的,我得到了完全相同的结果
  • 服务器响应的长度是多少?
  • 没看懂你的意思,但是服务器花了 600ms 还是你问了什么?
  • console.log(jsonStringFromServer.length)

标签: json


【解决方案1】:

我认为 JSON.parse 应该与字符串一起使用,而不是与 json 对象一起使用。

JSON.parse('{"cust":[{"email":"harsht283raj@tyu.com","url":"www.uzti.com"},{"email":"harshit.raj@tyu.com","url":"www.url.com"}]}')

尝试将您的 json 转换为字符串并使用解析函数。

【讨论】:

    【解决方案2】:

    JSON.parse() 解析字符串为json,如果你是直接从服务器获取json,则不需要解析,直接用属性访问,例如看sn-p。

    $(document).ready(function(){
    
    var a = {"cust":[{"email":"harsht283raj@tyu.com","url":"www.uzti.com"},
            {"email":"harshit.raj@tyu.com","url":"www.url.com"}]} ;
            
    alert(a.cust[0].email);
    
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-16
      • 2014-12-03
      • 2016-10-02
      • 2012-10-30
      • 2010-10-30
      • 2012-06-17
      相关资源
      最近更新 更多