c# - 如何从 jQuery 中的 JSON 数组中解析出项目?

标签 c# javascript jquery asp.net-mvc json

所以基本上我正在调用 MVC Controller 并以 JSON 格式返回查询结果。

<script>
    $("#APINumber").focusout(function () {
        $.getJSON('@Url.Action("CheckAPI", "WellInfo")', { APINumber: $(this).val() }, function (data) {
            if (!data.isDuplicate) {
                toastr.error('API Number does not exist in the database. Please check your API Number.', 'API Number Error')
                $("#APINumber").val("")
            }
            var id = JSON.stringify(data.list);

            $.each(data.list, function (value) {
                viewModel.LeaseName(JSON.stringify(data.list[value]));
            });

            
        });

    });

我想要做的是从我的查询中提取名为“LeaseName”的值。我创建了 $.each 循环来尝试解析它们,但是我填充的文本框 viewModel.LeaseName(JSON.stringify(data.list[value])); 显示了整个 JSON 字符串!见下文,这就是我得到的。

{"WellKey":221622,"OperatorKey":21,"LeaseKey":519,"APINumber":"03048374","FormattedAPINumber":"030-48374","RedrillCancelFlag":"  ","WellDesignation":"518G1-34","FieldCode":"052","FieldAreaCode":"05200","FieldName":"Belridge, South","AreaCode":"00","AreaName":"Any Area","DistrictNumber":"4","CACountyCode":"030","CountyName":"Kern","LeaseName":"","WellNumber":"518G1-34","IsActive":1,"WellTypeCodeList":"","WellStatusCode":"A","WellStatusDate":"/Date(1342814313397)/","BLMInterestCode":"N","OperatorName":"Aera Energy LLC","OperatorCode":"A0610","IsCurrentActive":true,"Section":34,"Township":"28S","Range":"21E","BaseMeridian":"MD","IsBLMInterest":false,"IsEPAWell":false,"BaseOfFreshWater":"","AssignedEngineerID":-1,"IsHydraulicallyFractured":true,"AbandonedStandardStatusCode":"Not Abandoned","DirectionalStatusCode":"Directionally drilled","LocationDescription":"Fr SW cor 582 N 405 E","Elevation":"592 KB","IsDryHole":false,"Version":4,"Well2Version":3}

我不想在我的文本框中显示全部内容,我只想显示来自该 JSON 数据的单个值。

任何帮助都会很棒!!!!

编辑

尝试使用这个

            $.each(data.list, function (value) {
                var json = JSON.stringify(data.list[value])
                console.log(json["WellKey"]);
            });

我在控制台中得到未定义...

编辑 2

解决了!不需要循环,我想使用 $.getJSON 已经将它字符串化了,我需要做的就是使用 data.list[0].FieldName 之类的东西来访问我的数据

谢谢大家!

最佳答案

您只需要:

json["LeaseName"]

参见 jsFiddle:

http://jsfiddle.net/5BhWr/

但是,请注意 LeaseName 在您返回的 json 中没有值。

更新

查看您的代码,我相信这会输出您的值:

data["LeaseName"]

当您在 getJson 调用中时,data 变量已经是 json。

如果您看一下这个 fiddle ,它会以与 WellKey 相同的方式输出一个值,因为它有一个值:

http://jsfiddle.net/5BhWr/2/

关于c# - 如何从 jQuery 中的 JSON 数组中解析出项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21587881/

相关文章:

javascript - jQuery Textillate 选项未创建预期结果

c# - 通过 C# .NET 访问 Gmail Drive

c# - 定时器倒计时时间格式

c# - 使用 WMI 禁用帐户

Javascript:带键的数组怎么可能?

javascript - 使用 xml 使用 jquery 创建无序列表

jquery - 将 javascript 值传递给 html 输入标记

c# - 如何断开与 socketio4net 的连接

javascript - 在以太坊区 block 链上保存合约数据的更有效方式是什么?

javascript - jQuery:在动态列表中添加 HTML