尝试从本地文件获取 json 数据并继续获取
“JSON.parse:数据意外结束在第 1 行第 1 列” 。
我已经尝试了fetch函数的许多参数,但是我总是得到至少一个错误。
function getData() {
fetch('./data.json', {mode: 'no-cors'})
.then((res) => res.json())
.then((data) => {
console.log(data);
})
};
JSON数据
{
"CustomerJohn": [
{
"month": "April",
"transaction": 1,
"price": 57
},
{
"month": "April",
"transaction": 2,
"price": 89
},
{
"month": "May",
"transaction": 1,
"price": 163
},
{
"month": "May",
"transaction": 2,
"price": 43
},
{
"month": "May",
"transaction": 3,
"price": 221
},
{
"month": "June",
"transaction": 1,
"price": 99
},
{
"month": "June",
"transaction": 2,
"price": 201
}
]
}
我想安慰你。记录数据以确保其正常运行。
您总是会得到错误Fetch API无法加载文件:///C:/your/path/to/data.json.不支持URL方案“文件”。
如果您使用获取来检索未运行服务器的本地文件,即通过file:///
协议而不是超文本传输协议://
或https://
访问JSON
文件。
为了访问它,您必须处于某种服务器环境中,并且可以使用XMLHttpRequest
检索数据。我为您准备了以下工作代码:
// Method which actually read json using XMLHttpRequest and promise
const jsonFileReader = async path => {
return new Promise((resolve, reject) => {
const request = new XMLHttpRequest();
request.open('GET', path, true);
request.responseType = 'blob';
request.onload = () => {
const reader = new FileReader();
reader.onload = e => resolve(e.target.result);
reader.onerror = err => reject(err);
reader.readAsDataURL(request.response);
};
request.send();
});
}
// This mthod will return the JSON
const returnJsonData = async (url) => {
const jsonData = await jsonFileReader(url);
console.log('Here is your JSON data: => ', jsonData);
return jsonData;
}
// Calling the function where you put URL
returnJsonData('./file.json');
此外,如果您没有在服务器上运行此代码,您将得到以下错误,访问XMLHttpRequest at'file:///C:/your/path/to/data.json'from源'null'已被CORS策略阻止:跨源请求仅支持协议方案:超文本传输协议、数据、chrome、chrome-扩展、https。
原因再次是协议和跨域问题,它限制了您访问该文件。
所以即使你的文件来源于同一个主机(localhost),但是只要方案不同(http / file),它们就被当作不同的来源。
如何在 Node 中创建快速服务器.js
npm install-g超文本传输协议-server
yoursome.html
所在的位置超文本传输协议-server-c-1
这将运行一个 Node.js httpd
,它将目录中的文件作为静态文件提供,可从 http://localhost:8080
//回收器和视图 //调用提取数据方法extractData(); //提取数据
我正在建立一个阳光应用从Udacity课程。在第2课中,我尝试将应用程序连接到OpenWeatherMap.org站点上的云,以获取城市的天气数据。首先,基本查询起作用,即URL URL=新URL(“http://api.openweathermap.org/data/2.5/forecast?id=524901&appid=c21566b1153f87e9f1d256b962cd6d42”);但
问题内容: 我想从本地计算机上的JSON文件中获取数据。但是我无法获取数据。它显示了$ http的某些跨域错误。 这是我的代码。 任何人都可以帮助我如何显示本地JSON文件中的数据?提前致谢。 问题答案: 很简单,就像
我正在努力在Python中做一个实时货币转换器。我已经成功地将URL所需的所有数据提取到Python中。但是,我现在尝试在URL中调用特定字符串。这是我当前的代码: 如您所见,我已经打印了它获取的所有数据,但它现在正在从中打印特定的字符串。 我的问题是,如何从URL解析特定字符串?我听说过json.load,这是我应该使用的东西吗?
问题内容: 如何存储本地文件(如JSON),然后从控制器中获取数据? 问题答案: 从React Native 0.4.3开始,您可以像这样读取本地JSON文件: 然后像普通的JS对象一样访问customData。
我已经创建了一个简单的Spring Web MVC应用程序,该应用程序从酒店API获取json Web响应,但是当我尝试从根节点使用findPath()方法时,我收到错误。我正在使用Jackson Library进行json解析。代码如下: 第3行产生错误。 这是我的网络回复: 错误消息: HTTP 状态 500 - 处理程序处理失败;nested exception is java.lang.N