我有一個JSON陣列,我正試圖回圈瀏覽并呼出某些位。
這里可以看到完整陣列的一個片段 - https://pastebin.com/eCYcZWpV
這是我使用的代碼:
這是我使用的代碼。
$str = file_get_contents('tst.json') 。
$json = json_decode($str, true) 。
foreach($json['results'] as $item){
foreach($item['vehicle'] as $data){
echo $data[' ownershipCondition']。
echo "<br> "。
echo $data['registration']。
echo "<br> "。
echo $data['vin'/span>]。
echo "<br> "。
echo $data['make'/span>]。
echo "<br> "。
echo $data['model'/span>]。
echo "<br>"。
echo "<br>";
}
}
這就是預期結果:
Used
ABC123
32847328474
雷諾
克里歐
二手
DEF123
48578435347589
達契亞
桑迪奧
克里歐
這就是我實際得到的結果,還有一大堆非法的字串偏移錯誤
。U
U
U
U
U
U
H
H
H
H
H
H
V
V
V
V
V
V
R
R
R
R
R
R
C
C
C
C
C
C
uj5u.com熱心網友回復:
根據你的樣本資料,$item['vehicle']是一個object,而不是一個陣列。它里面只有一個單一的資料集。因此,你不需要第二個foreach。只需更直接地訪問屬性:
$str = file_get_contents('tst.json') 。
$json = json_decode($str, true) 。
foreach($json['results'] as $item){
echo $item['vehicle'][' ownershipCondition']。
echo "<br> "。
echo $item['vehicle']['registration']。
echo "<br> "。
echo $item['vehicle']['vin']。
echo "<br> "。
echo $item['vehicle']['make']。
echo "<br> "。
echo $item['vehicle']['model']。
echo "<br> "。
echo "<br>";
}
P.S. 如果你想知道,字串偏移錯誤的原因是,通過回圈$item["vehicle"],你正在回圈每個屬性。因此,例如,在第一個回圈中,它將找到 "ownershipCondition "屬性,并將其值放入$data。因此,提供給$data的第一個值將是 "Used",顯然這是一個字串,它沒有任何屬性,如 "ownershipCondition","registration "等
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/307053.html
標籤:
上一篇:<p>我試圖從我的javacode向我的nodeJS應用程式發送一個jsonArray,但我一直在nodejs端得到這個錯誤,我難以理解這是為什么?因為發送一個正常的JSONObject可
