嵌套 JSON 响应 TypeError
Posted
技术标签:
【中文标题】嵌套 JSON 响应 TypeError【英文标题】:Nested JSON response TypeError 【发布时间】:2018-08-02 17:19:23 【问题描述】:我有一个 JSON 响应,我无法弄清楚。这是我目前收到的回复。
这是我的 ajax 脚本:
<script>
$(document).on('click', '#pullDetails', function()
$.ajax(
type:'POST',
url: '/carrier/claims/pullDetails',
data:
num: $('input[name=proNumber]').val(),
_token: $('input[name=_token]').val(),
dataType: 'json',
success: function(data)
if(data.details != undefined)
console.log('success');
console.log(data.details.SearchResults[0].Shipment.Origin.Name); //result: ATLAS INTL
$('#carrierReturnData').html(data.details.SearchResults[0].Shipment.Origin.Name);
else
console.log('failed');
console.log(data);
console.log(data.details.SearchResults.SearchItem);
,
error: function(data)
console.log('error');
console.log(data);
);
);
</script>
现在我的问题是如何从“SearchItem”行(在响应 json 的第一行)获取特定数据?
目前我得到以下信息:TypeError: data.details.SearchResults
未定义,但 data.details 被识别为我的控制台日志“成功”。
【问题讨论】:
【参考方案1】:对详细信息进行 JSON.parse,然后尝试记录 SearchResults
var results = JSON.parse(data.details);
console.log(results.SearchResults.SearchItem);
【讨论】:
具体返回成功(作为第一部分的一部分)然后未定义。但是(我将在上面编辑我的问题以包含图像),如果我删除 .SearchItem 并将其保留为 results.SearchResults,我会返回一个数组。给我一点时间…… 我添加了图片来展示控制台返回的样子。 使用您上面的建议,我编辑为这样工作:results.SearchResults[0].SearchItem.以上是关于嵌套 JSON 响应 TypeError的主要内容,如果未能解决你的问题,请参考以下文章