所以基本上我正在调用 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:
但是,请注意 LeaseName 在您返回的 json 中没有值。
更新
查看您的代码,我相信这会输出您的值:
data["LeaseName"]
当您在 getJson
调用中时,data
变量已经是 json。
如果您看一下这个 fiddle ,它会以与 WellKey
相同的方式输出一个值,因为它有一个值:
关于c# - 如何从 jQuery 中的 JSON 数组中解析出项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21587881/