Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jquery从json格式读取数据_Javascript_Jquery_Json - Fatal编程技术网

Javascript 如何使用jquery从json格式读取数据

Javascript 如何使用jquery从json格式读取数据,javascript,jquery,json,Javascript,Jquery,Json,如何使用jquery从json格式读取数据。下面是我尝试过的,但不幸的是,我无法读取我想要的确切数据 $.ajax({ url: '@Url.HttpRouteUrl("GetDistrictList", new { })', type: 'GET', datatype: "json", success: function (data, txtStatus, xhr) {

如何使用jquery从json格式读取数据。下面是我尝试过的,但不幸的是,我无法读取我想要的确切数据

 $.ajax({
            url: '@Url.HttpRouteUrl("GetDistrictList", new { })',
            type: 'GET',
            datatype: "json",
            success: function (data, txtStatus, xhr) {
                console.log(data);
                if (data != null) {

                    $.each(data, function (i, item) {
                        alert(data[0]);
                        alert(data[0].DistrictCode)
                        alert(item);
                        alert(item[0]);
                        alert(item.DistrictCode);
                        $('#tblDistricts > tbody').append('<tr><td>'+item.DistrictCode+'</td><td>test</td><td>test</td><td>test</td><td>test</td><td>test</td></tr>');

                    })
                }
            },
            error: function (xhr, textStatus, errorThrown) { 
                console.log("error in GetDistrictList : " + errorThrown);
            }
        });'
$.ajax({
url:“@url.HttpRouteUrl(“GetDistrictList”,新{})”,
键入:“GET”,
数据类型:“json”,
成功:函数(数据、txtStatus、xhr){
控制台日志(数据);
如果(数据!=null){
$。每个(数据、功能(i、项){
警报(数据[0]);
警报(数据[0]。地区代码)
警报(项目);
警报(项目[0]);
警报(项目、地区代码);
$('#tbldistics>tbody')。追加(''+item.DistrictCode+'test');
})
}
},
错误:函数(xhr、textStatus、errorshown){
log(“GetDistrictList中的错误:”+ErrorSprown);
}
});'
在警报框中,我得到的是“未定义”或“仅”[object][object],我无法读取准确的数据。我被困在这里了

编辑: Web api将以列表对象的形式返回数据

[HttpGet]
        [Route("GetDistrict/", Name = "GetDistrictList")]
        public List<DistrictModels> GetDistrictList()
        {

            BAL_District oBAL_District = new BAL_District();

            return oBAL_District.GetDistrictList();

        }
[HttpGet]
[路线(“GetDistrict/”,Name=“GetDistrictList”)]
公共列表GetDistrictList()
{
巴卢区奥巴卢区=新巴卢区();
返回oBAL_District.GetDistrictList();
}

我想您希望调用此函数-
使用
var数据=$.parseJSON(响应)

范例

var obj = jQuery.parseJSON( '{ "name": "John" }' );
alert( obj.name === "John" );
JSON.stringify
将Javascript对象转换为JSON文本,并将该JSON文本存储在字符串中

JSON.parse
将JSON文本字符串转换为Javascript对象

仅供参考,从jQuery 3.0开始,$.parseJSON已被弃用。要解析JSON对象,请改用本机JSON.parse方法

var json=[
{“红色”:“f00”},
{“绿色”:“0f0”},
{'blue':'00f'}
];
$.each(json,函数(){
$.each(此,函数(名称,值){
console.log(name+'='+值);
});
});

如果您正在获取[object,object],则表示您已经获取了Json对象。如果您需要一些澄清,请分享您想要的Json。谢谢使用
Json.stringify(object)
。这是一种超级安全的打印方式

   $.ajax({
        url: '@Url.HttpRouteUrl("GetDistrictList", new { })',
        type: 'GET',
        datatype: "json",
        success: function (data, txtStatus, xhr) {
            console.log(data);
            if (!!data) {
                // '!data' means data variable is not available and '!!data' returns true:boolean if variable is valid

                //idx is 'index', I made the code as a loop. It will not work if array is empty. 
                //It is good way to avoid error
                for(var idx in data){
                    if(idx == 0) {
                        //JSON.stringify makes object type to string type. It is safe to use since it is a native javascript function
                        alert(JSON.stringify(data[idx]);
                        //You can access member by 'data[idx].memberName'
                        //DOM adding code can be here
                    }
                }
            }
        },
        error: function (xhr, textStatus, errorThrown) { 
            console.log("error in GetDistrictList : " + errorThrown);
        }
    });

假设您的服务器端脚本没有设置正确的
内容类型:application/json
响应头,您需要使用
数据类型:“json”
参数向jQuery指示这是json

您不应该在
$中使用
数据
变量。each()
。然后可以使用
$。each()
函数循环数据:

$.ajax({
    url: '@Url.HttpRouteUrl("GetDistrictList", new { })',
    type: 'GET',
    datatype: "json",
    success: function (data, txtStatus, xhr) {
        console.log(data);
        if (data != null) {

            $.each(data, function (index, element) {
                alert(element);
                alert(element[0]);
                alert(element.DistrictCode);
                $('#tblDistricts > tbody').append('<tr><td>'+element.DistrictCode+'</td><td>test</td><td>test</td><td>test</td><td>test</td><td>test</td></tr>');
            });
        }
    },
    error: function (xhr, textStatus, errorThrown) { 
        console.log("error in GetDistrictList : " + errorThrown);
    }
});'

注意:从jQuery 3.0开始,
$.parseJSON
已被弃用。若要解析JSON对象,请使用本机的
JSON.parse
方法。

我将从web api控制器返回列表对象。请参阅我已更新的答案,如何为JSON对象使用每个对象。@King_Fisher您是否理解我在更新的答案中用示例解释的内容。如何在循环中迭代JSON对象。我希望您能够从图片中看到数据格式。您能否从这些数据中给出一个示例。让我们来看。正如您在所附图片中所看到的,我从web api获得数据,我只想将数据填充到html表中。
$.getJSON('/functions.php', { get_param: 'value' }, function(data) {
    $.each(data, function(index, element) {
        $('body').append($('<div>', {
            text: element.name
        }));
    });
});