获取未捕获的SyntaxError:<unknown file =“”>中的意外标记o:1&#39;使用JSON.parse时

时间:2015-04-27 20:01:55

标签: javascript json parse-platform

我将变量设置为等于JSON文本,如下所示:

var httpResponseBackup = {"findItemsByKeywordsResponse":[{"searchResult":["nada"]}]}

然而,当我运行我的云代码时,它给了我这个错误:

Uncaught SyntaxError: Unexpected token o in <unknown file>:1

基于我通过Google搜索此错误找到的内容,它与以下代码行有关:

var ebayResponse = JSON.parse(httpResponseBackup);

我是否错误地格式化httpResponseBackup中的JSON文字?

2 个答案:

答案 0 :(得分:6)

JSON.parse需要一个字符串,字符串化JSON。您传递的内容已经是JSON对象。因此,您可以设置对该对象的响应:

var ebayResponse = httpResponseBackup;

或者,您可以将httpReponseBackup设置为字符串值:

var httpResponseBackup = '{"findItemsByKeywordsResponse":[{"searchResult":["nada"]}]}'

docs:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse

答案 1 :(得分:1)

鉴于:

<div id="myCarousel" class="carousel slide img-rounded" data-ride="carousel">
<!-- Indicators -->
<ol class="carousel-indicators">
  <li data-target="#myCarousel" data-slide-to="0" class="active"></li>
  <li data-target="#myCarousel" data-slide-to="1"></li>
  <li data-target="#myCarousel" data-slide-to="2"></li>
  <li data-target="#myCarousel" data-slide-to="3"></li>
  <li data-target="#myCarousel" data-slide-to="4"></li>
</ol>

<!-- Wrapper for slides -->
<div class="carousel-inner" role="listbox">
<div class="item active">
  <%= image_tag("nicholson2.jpg", alt:"nicholson", class: "img-rounded") %>
</div>

<div class="item">
  <%= image_tag("marilyn2.jpg", alt:"marilyn", class: "img-rounded") %>
</div>

<div class="item">
  <%= image_tag("pacino2.jpg", alt:"pacino", class: "img-rounded") %>
</div>

<div class="item">
  <%= image_tag("lily.jpg", alt:"lily", class: "img-rounded") %>
</div>

<div class="item">
  <%= image_tag("deniro2.jpg", alt:"deniro", class: "img-rounded") %>
</div>
</div>

<!-- Left and right controls -->
<a class="left carousel-control" href="#myCarousel" role="button" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="right carousel-control" href="#myCarousel" role="button" data-slide="next">
<span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>

,然后

var httpResponseBackup = {"findItemsByKeywordsResponse":[{"searchResult":["nada"]}]};

var httpResponseBackupString = '{"findItemsByKeywordsResponse":[{"searchResult":["nada"]}]}';

JSON.stringify(httpResponseBackup) == httpResponseBackupString 将返回一个与JSON.parse(httpResponseBackupString)具有相同结构的新对象。