【问题标题】:Can not find Unexpected token when parsing a JSON string解析 JSON 字符串时找不到意外的令牌
【发布时间】:2020-05-20 10:57:28
【问题描述】:

我将在网页中显示从服务器接收到的 JSON(但作为字符串接收)。 json 在创建时似乎已转义。当我在控制台中查看详细信息时,它会显示

    Uncaught SyntaxError: Unexpected token   in JSON at position 67
    at JSON.parse (<anonymous>)
    at displaySmsDetails (sms.html:108)
    at <anonymous>:1:1

我检查了json validators 中的 json,但没有发现无效字符。

function displaySmsDetails(){
	var temp='[{"date":"1589952101314","number":"989999920000","body":"بانك سامان\nبرداشت مبلغ 100,000 خريدکالا\nاز ‪873-1‬\nمانده 1,676\n1399/2/31\n09:51:35","type":"inbox"}]';
	var list=JSON.parse(temp);
	$("#details").html(JSON.stringify(list));
}

displaySmsDetails()
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="details"></div>

【问题讨论】:

  • \n 在那个位置。

标签: javascript json parsing


【解决方案1】:

function displaySmsDetails(){
	var temp='[{"date":"1589952101314","number":"989999920000","body":"بانك سامان\nبرداشت مبلغ 100,000 خريدکالا\nاز ‪873-1‬\nمانده 1,676\n1399/2/31\n09:51:35","type":"inbox"}]';

  var list=jQuery.parseJSON(temp.replace(/\n/g,"\\n"));
	
  console.log(list);
	$("#details").html(JSON.stringify(list));
}

displaySmsDetails()
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<div id="details"></div>

【讨论】:

    【解决方案2】:

    你应该用另一个斜线来转义斜线

    \\n
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-10
      • 1970-01-01
      • 2013-08-02
      • 1970-01-01
      • 2015-08-28
      • 2022-01-01
      相关资源
      最近更新 更多