JSON数据格式不正确
Incorrect JSON data format
我正在尝试创建一些JSON,用于使用Highcharts 显示图表
http://www.highcharts.com/
我复制了他们的一个例子:
http://www.highcharts.com/stock/demo/basic-line
单击图形下的"查看选项"以查看源。还有一个JSFiddle可以玩
如果我在本地复制,一切都很好。
问题是当我尝试使用自己的数据源时。
我有一个ASP.NetMVC控制器,它正在吐出一个数组列表,就像它们的数据源一样。然而,这并不奏效。
他们的数据源如下http://www.highcharts.com/samples/data/jsonp.php?filename=aapl-c.json&callback=?
他们像这个一样检索
$.getJSON('http://www.highcharts.com/samples/data/jsonp.php?filename=aapl-c.json&callback=?', function (data) {
所以我想我应该退一步,准确地复制他们的数据,并将其放在服务器上的文本文件中,然后尝试:
所以我尝试了这个
$.getJSON('/data.txt', function (data) {
和这个
$.get('/data.txt', function (data) {
但两者都不起作用
在检索数据后,我也尝试过同时使用JSON.parse
和jQuery.parseJSON
,但同样,似乎不起作用
我还想知道是什么?处于数据的开始
他们的数据看起来像这个
?([[<some data>],[some data]]);
我没有收到任何错误消息,图表只是没有显示
有什么想法吗?
解决了它
只需要检索数据并将其转换为数组并将其传递给图表。
需要是一个数组,而不是JSON
该数据源正在输出用于跨域AJAX请求的JSONP。由于额外的callback(...)
包装,它不是有效的"原始"JSON。
请在此处阅读:http://api.jquery.com/jQuery.ajax/在"dataType"部分下。
正如您在标记中所说,它不是JSON,而是JSONP。不要解析它,用回调捕获它。使用jQuery.getScript
执行此操作,并定义function callback(data)
。在该函数中,data
应该包含(解析的)对象。此外,请将URL中的?
替换为callback
(或您为函数命名的任何名称)-?
在JavaScript中不是有效的标识符,因此?([....])
是无稽之谈。
- 如何将正确的数据格式从SQL传递到PHP
- 由于布尔值的变化,Django视图中的字符串格式不正确
- jquery DataTable 数据格式和警告 - 添加的数据与已知列数不匹配
- 文档的第一行.写的格式不正确,有时无法显示
- 格式为nnnnnnnn的字符串在电子表格中显示为日期或不正确
- 谷歌地图API'.pac项目:first'返回格式不正确
- 格式不正确的json/javascript
- Angular promise从JSON API返回不正确的数据
- 下载pdf格式不正确
- 在jquery mobile中,post方法数据发送不正确
- Javascript在<!doctype html>以正确的格式插入时不起作用
- D3:“SVG4601:SVG 路径数据的格式不正确,无法完全解析
- 为什么它说输入数据数组的格式不正确 jqchart.
- Amchart 和 Ajax 获取格式不正确的数据
- 当我输入数字时,它也将其检测为不正确的格式
- JSON数据格式不正确
- 当使用getImageData时,在移动设备上获得大图像的不正确数据
- $发送的数据格式不正确.post到PHP
- 已转换的blob正在以不正确的格式获取文件
- Express.js:不能在json文件中设置正确的数据格式