CFResponseがあり、次のような配列に解析したいと思います。
$response = $this->scan($query);
$array = $response->body->Items->to_array();
print_r($array);
これにより、何らかの理由で空のCFArrayが得られます。
$response->body->Items->to_json();
もう一方の手は私にこれを与えます:
{"userID":{"S":"someemail@me.com"},"password":{"S":"secretPassword"}}
これは最初の行だけです。しかし、これは私が$response->bodyから得たものです。
CFSimpleXML Object ( [ConsumedCapacityUnits] => 0.5 [Count] => 2 [Items] => Array ( [0] => CFSimpleXML Object ( [userID] => CFSimpleXML Object ( [S] => someemail@me.com ) [password] => CFSimpleXML Object ( [S] => secretPassword ) ) [1] => CFSimpleXML Object ( [userID] => CFSimpleXML Object ( [S] => somemoreemail@me.com ) [password] => CFSimpleXML Object ( [S] => secretPassword ) ) ) [ScannedCount] => 2 )
ここでわかるように、Itemsは配列です。SimpleXMLIteratorオブジェクトです。返される行は2つあります。
Itemsを呼び出すと、最初のオブジェクトのみが取得されます。すべての子を配列に解析する、または少なくともjson文字列を作成するにはどうすればよいですか?getChildren()を試しましたが、機能しませんでした。また、なぜ機能しないのto_array()
ですか?