【问题标题】:Whats wrong with JavaScript console.log in chrome when reading a JSON file阅读 JSON 文件时,Chrome 中的 JavaScript console.log 有什么问题
【发布时间】:2016-07-24 07:15:20
【问题描述】:

我有一个需要在 jsavascript 中读取的 json 样本 menulist.json(附在 pastebin 中)。我正在阅读answer 中提到的文件。

但是看起来 JavaScript 没有正确读取 JSON。 BeveragesDesserts 应该在 Menu 之下。但它似乎没有发生:

只是为了验证相同的 json,我将其粘贴在 python shell 中。看起来python正在正确读取。

这是我的代码: HTML

<html>
  <head>
  ...
  ...
  ...
        <script type="text/javascript" src="menulist.json"></script>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
        <script type="text/javascript" src="js/index.js"></script>
    </head>
     <body> 
          ...
          ...
          ...
     </body>
    </html

注意:这与排序或顺序无关。这是关于子对象没有出现在同一个键下。

【问题讨论】:

  • 你为什么不通过 $.getJSON 得到它?在您的 JSON 中,menu 是一个数组,其中包含一个对象,其中包含 Beverages。
  • @Loenix 我不认为你是对的。它的缩进很奇怪,但 Beverages 在共享的 JavaScript 中嵌套在 Menu 下。
  • @t.niese 我不认为订购是问题;这是结构。 (当他们说“下”时,他们的意思是在树的意义上,即“嵌套在里面”。)
  • @Laxmikant “我从未更改过文件。从我开始编码时开始就是这样。”
  • 完全同意@t.niese。您的项目中的任何地方都没有 JSON。将 menulist.json 重命名为 menulist.js 并且只知道您正在做的是包含一个脚本,该脚本定义了一个名为 data 的全局变量,其中包含一个对象。

标签: jquery json google-chrome


【解决方案1】:

(转移评论回答)

Pastebin 中的 JavaScript 定义了一个具有您期望的结构的对象,因此它一定不是您实际执行的 JavaScript。根据上面的评论讨论,事实证明浏览器正在缓存文件的旧版本(当对象显然具有不同的结构时)。

【讨论】:

    猜你喜欢
    • 2013-09-13
    • 2021-05-23
    • 1970-01-01
    • 2019-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-05
    相关资源
    最近更新 更多