我有一个CFResponse,我想解析为一个这样的数组:解析CFResponse到阵列
$response = $this->scan($query);
$array = $response->body->Items->to_array();
print_r($array);
这给我一个空CFArray,出于某种原因,而
$response->body->Items->to_json();
另一只手给我这个:
{"userID":{"S":"[email protected]"},"password":{"S":"secretPassword"}}
这只是第一行。 但是,这是我通过$ response-> body得到的;
CFSimpleXML Object ([ConsumedCapacityUnits] => 0.5 [Count] => 2 [Items] => Array ([0] => CFSimpleXML Object ([userID] => CFSimpleXML Object ([S] => [email protected]) [password] => CFSimpleXML Object ([S] => secretPassword)) [1] => CFSimpleXML Object ([userID] => CFSimpleXML Object ([S] => [email protected]) [password] => CFSimpleXML Object ([S] => secretPassword))) [ScannedCount] => 2)
正如你在这里看到的,Items是一个数组。它是一个SimpleXMLIterator对象。 有两行正在返回。
通过调用Items,我只获得第一个对象。我怎样才能解析所有的孩子到一个数组中,或者至少让一个JSON字符串?我试过getChildren(),这没有奏效。 此外,为什么不是to_array()
工作?
如果'Items'是一个数组,你有没有试过'$ array = $ response-> body-> Items;'? – Havelock
是的,就像我说过的那样,它只返回第一个对象 – NSAddict