【问题标题】:Read json file as javascript object将 json 文件读取为 javascript 对象
【发布时间】:2017-11-21 02:04:46
【问题描述】:

我有一个包含我所有数据的 json 文件,我还有一个搜索框

但我想在结果页面中添加分页

我在这里Simple pagination in javascript 找到了这个有用的代码,它显示了它是如何完成的,但问题是我的数据来自一个名为 data.json 的文件

我已经尝试了很多方法来尝试让我的数据通过,但似乎没有任何工作

the below does not work
$.getJSON('data.json', function(data) {
    console.log('data',data);
});

这是我的数据

{"id":"1","name":"Name 1","channel_id":"37"},{"id":"2","name":"Name 2","channel_id":"41"},{"id":"3","name":"Name 3","channel_id":"37"},

感谢任何帮助。

【问题讨论】:

  • 那么,控制台的输出是什么?
  • 嗨!更多信息将更容易诊断问题。你说你的 $.getJSON 调用不起作用,你能更具体一点吗?尝试时是否有任何内容记录到控制台?
  • 谁赞成这个...?
  • 我不确定,但我感觉大多数浏览器实际上并没有启用本地文件访问,因为您违反了 Access-Control-Allow-Origin 规则。最好使用Fetch。您的请求类似于fetch("data.json") .then(response => response.json()) .then(json => console.log(json));

标签: javascript jquery json


【解决方案1】:

确保您的 Json 有效。 当我检查您的 Json 数据时,它是一个对象数组,但缺少 []。我更正了您的数据,如下所示。

[{
"id": "1",
"name": "Name 1",
"channel_id": "37"
  }, {
"id": "2",
"name": "Name 2",
"channel_id": "41"
 }, {
"id": "3",
"name": "Name 3",
"channel_id": "37"
 }]

【讨论】:

  • 如果嵌套在数组中并且文件扩展名为.json,是否还是json对象?
  • @Ozan,是的,甚至文件扩展名是 .json 或其他任何东西。我认为文件扩展名并不重要。
【解决方案2】:

getJSON 方法在 URL data.json 处向您的服务器执行 GET 请求。

您没有提供有关文件位置和/或服务器如何读取 JSON 数据并将其发送回客户端的任何详细信息。

根据您的问题,您正在尝试直接读取名为data.json 的文件,这是不可能的。您的服务器必须通过响应提供给 getJSON 方法的 url 处的 GET 请求,将 JSON 数据发送回客户端。

【讨论】:

    【解决方案3】:

    您要查找的方法是JSON.parse(jsonData)

    【讨论】:

      猜你喜欢
      • 2014-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-21
      • 2022-11-27
      • 2017-04-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多