나는 이미이 스레드를 보았습니다 : PHP decode nested JSON 그리고 내 문제를 해결하기 위해 그것을 사용하지 못했습니다.PHP에서 Mongo를 사용하여 JSON 디코딩
현재 Mongo에서 JSON 개체를 가져오고 중첩 된 개체의 정보를 가져 오는 데 문제가 있습니다. 여기에 목표로 내
{
"adminLevel" : 200,
"chat" : true,
"clans" : [
BinData(0,"wcXHR577OVBXfy9JwEf5gQAAAAAAAAAAAAAAAAAAAAAAAAAAAA")
],
"experience" : NumberLong(70003),
"kitNew" : {
"converted" : true,
"items" : {
"ak47" : {
"killCount" : 5,
"selected" : false,
"unlocked" : 1
},
"hub-knife" : {
"selected" : false
},
"assault" : {
"selected" : false,
"unlocked" : 1
},
"pistol" : {
"deathWhileSelectedCount" : 3,
"killedBySelectedCount" : 1,
"killWhileSelectedCount" : 1,
"selected" : false,
"unlocked" : 1
},
"m1014" : {
"deathWhileSelectedCount" : 3,
"killedBySelectedCount" : 1,
"killCount" : 17,
"killWhileSelectedCount" : 1,
"killedByCount" : 1,
"selected" : false,
"unlocked" : 1
},
},
},
"points" : NumberLong(87167),
}
은 각 항목에 대한 정보를 인쇄하는 것입니다, 내 PHP 코드는 내가 데이터베이스에 연결 아무런 문제, 또는 환경 문제가 없다는 것을 알고
// execute query
// retrieve all documents
$query = array("lastKnownUsername" => "Strubo");
$cursor = $collection->find($query);
$array = json_decode($cursor, true);
$items = $array->kitNew->items;
foreach($items as $item){
echo "<tr>";
echo "<td>" . $item . "</td>";
echo "<td>" . $item->killCount . "</td>";
echo "<td>" . $item->killedByCount . "</td>";
echo "<td>" . $item->selected . "</td>";
echo "<td>" . $item->unlocked . "</td>";
echo "</tr>";
}
// disconnect from server
$conn->close();
} catch (MongoConnectionException $e) {
die('Error connecting to MongoDB server');
} catch (MongoException $e) {
die('Error: ' . $e->getMessage());
}
을 다음과 같다 잡아 당겨진 데이터의 다른 디스플레이가 작동하기 때문입니다. 여기에 문제가되는 것은 중첩 된 것입니다.
감사합니다.
이 정보는 우수와 함께, 개념은 littlebit 잘 설명해야한다 :
나는 강하게 당신이 MongoDB를 PHP 드라이버 튜토리얼을 읽으십시오. 데이터를 PHP 배열이 아닌 JSON 객체로 해석했습니다. 감사. –