Javascript 解析我的json文件

Javascript 解析我的json文件,javascript,jquery,ajax,json,Javascript,Jquery,Ajax,Json,我正在尝试使用jquery解析json文件,但我没有得到任何数据 我的jquery代码: $(document).ready(function () { $.ajax({ type: 'GET', url: 'http://anteatercycles.co.uk/xml/sensa.json', success: function (json) { var data1 = json.data[0];

我正在尝试使用jquery解析json文件,但我没有得到任何数据

我的jquery代码:

$(document).ready(function () {
    $.ajax({
        type: 'GET',
        url: 'http://anteatercycles.co.uk/xml/sensa.json',
        success: function (json) {
            var data1 = json.data[0];
            var result1 = '<h3>' + data1.merchant_category + '</h3>' + '<p>' + data1.description + '</p>' ;
            $('#description1').append(result1);
        }
    });
});

<div id="description1"></div>
$.ajax({ 键入:“GET”, 数据类型:“json”, url:“”, 成功:函数(json) {json=json.parse(json);//解析json数据 var data1=json.data[0]; var result1=''+data1.merchant\u类别+''+ “”+data1.description+”

”; $('#description1')。追加(result1); } }); });


在AJAX调用中添加
数据类型:“json”
作为选项应该可以工作。如果您告诉jQuery它是JSON数据,它应该为您将其解析为一个对象。很可能服务器没有返回具有正确MIME类型的JSON文件,因此jQuery只是假设它是纯文本。

添加
数据类型:“JSON”
作为AJAX调用的一个选项应该可以工作。如果您告诉jQuery它是JSON数据,它应该为您将其解析为一个对象。很可能服务器没有返回正确MIME类型的JSON文件,因此jQuery只是假设它是纯文本。

使用
JSON.parse()
或设置
数据类型:“JSON”

success:function(json)
{json=json.parse(json);//解析json数据
var data1=json.data[0];
var result1=''+data1.merchant\u类别+''+
“”+data1.description+”

”; $('#description1')。追加(result1); }
使用
JSON.parse()
或设置
数据类型:“JSON”

success:function(json)
{json=json.parse(json);//解析json数据
var data1=json.data[0];
var result1=''+data1.merchant\u类别+''+
“”+data1.description+”

”; $('#description1')。追加(result1); }
如果您希望服务提供
JSON
响应,则需要提供
数据类型:“JSON”
然后这将自动返回一个JavaScript对象。JSON数据将以严格的方式进行解析。任何格式错误的
JSON
都将被拒绝,并抛出解析错误,或者可能是您从服务中获得了空响应。

如果您希望从服务中获得
JSON
响应,则需要提供
数据类型:“JSON”
则会自动返回一个JavaScript对象。JSON数据将以严格的方式进行解析。任何格式错误的
JSON
都将被拒绝,并抛出解析错误,或者可能是您从服务中得到了空响应。

查看您的服务器为该JSON发送的数据:

%  curl -I http://anteatercycles.co.uk/xml/sensa.json
HTTP/1.1 200 OK
Server: Apache
Last-Modified: Thu, 04 Sep 2014 10:41:58 GMT
ETag: "fe1328ea-4ff3e-5023b007f6708"
Content-Type: text/plain
Content-Length: 327486
Accept-Ranges: bytes
Date: Thu, 04 Sep 2014 12:10:03 GMT
X-Varnish: 2518742114 2518618326
Age: 72
Via: 1.1 varnish
Connection: keep-alive
重要的一行是
内容类型
。它声称它是
文本/普通
,但应该是
应用程序/javascript

您应该修复服务器,使其为该文件提供正确的内容类型

作为一种黑客手段,您可以告诉jQuery忽略内容类型,并将其视为JSON

数据类型:“json”
添加到ajax选项中:

$.ajax({
    type: 'GET',
    dataType: "json",


此外,JSON不会返回具有
data
属性的对象。因此,访问
JSON.data
没有意义。您需要
JSON[0]
查看服务器为该JSON发送的数据:

%  curl -I http://anteatercycles.co.uk/xml/sensa.json
HTTP/1.1 200 OK
Server: Apache
Last-Modified: Thu, 04 Sep 2014 10:41:58 GMT
ETag: "fe1328ea-4ff3e-5023b007f6708"
Content-Type: text/plain
Content-Length: 327486
Accept-Ranges: bytes
Date: Thu, 04 Sep 2014 12:10:03 GMT
X-Varnish: 2518742114 2518618326
Age: 72
Via: 1.1 varnish
Connection: keep-alive
重要的一行是
内容类型
。它声称它是
文本/普通
,但应该是
应用程序/javascript

您应该修复服务器,使其为该文件提供正确的内容类型

作为一种黑客手段,您可以告诉jQuery忽略内容类型,并将其视为JSON

数据类型:“json”
添加到ajax选项中:

$.ajax({
    type: 'GET',
    dataType: "json",


此外,JSON不会返回带有
data
属性的对象。因此访问
JSON.data
没有意义。您想要
JSON[0]

您的json变量是否有任何值???您的JS文件是否也在anteatercycles.co.uk上?如果没有,请参阅此处:hi yes it Is at Ajax的可能重复响应为文本。您必须解析到json对象。
json=json.parse(json);var data1=json.data[0]您的json变量有任何值吗???您的JS文件是否也在anteatercycles.co.uk上?如果没有,请参阅此处:hi yes Is at Ajax的可能重复响应为文本。您必须解析到json对象。
json=json.parse(json);var data1=json.data[0]?
$.ajax({
    type: 'GET',
    dataType: "json",