我记录以下内容没有问题:
<h1>Order List</h1>
<ul>
<%orders.forEach(function(order){%>
<li><%console.log(order.ShippingAddress);%></li>
<%});%>
</ul>
但是当我尝试记录下来时:
<h1>Order List</h1>
<ul>
<%orders.forEach(function(order){%>
<li><%console.log(order.ShippingAddress.Name);%></li>
<%});%>
</ul>
我收到错误:
Cannot read property 'Name' of undefined
我必须忽略一些非常简单的事情,因为&#34;姓名&#34;显然存在......我只是没有正确设置。有什么想法吗?
以下是每个订单的数据:
:{ AmazonOrderId: '99999',
PurchaseDate: 'date',
LastUpdateDate: 'date',
OrderStatus: 'Shipped',
FulfillmentChannel: 'MFN',
SalesChannel: 'Amazon.com',
ShipServiceLevel: 'Std US D2D Dom',
ShippingAddress:
{ Name: 'name here',
AddressLine1: 'address here',
City: 'city',
StateOrRegion: 'state',
PostalCode: '999999',
CountryCode: 'US' }
我可以通过以下方式使用pHp来实现这一点:
<?php
$string = file_get_contents('./data/store.json');
$data = json_decode($string, true);
foreach($data[ListOrdersResult][Orders][Order] as $order) {
print_r("<li>".$order[ShippingAddress][Name]."</li>");
}
?>
答案 0 :(得分:1)
您确定第一个代码段实际上包含带有数据的ShippingAddress吗?
可能有1个特定订单(或更多)没有送货信息?在尝试显示名称之前尝试删除console.log(order.AmazonOrderId)
,然后您将看到它停止的顺序。