Таблица пользователей Facebook fql для json_encode

Я использую user table из fql.I передаю массив json_encode (). Формат json для Facebook не является коррективным, он исключает []. Как добавить это в свой код.

Ниже приведен пример, но я не подставил этот код.

таблица пользователя https://developers.facebook.com/docs/reference/fql/user

Я хочу имя, uid.

//to get album cover $fql2 = "select src from photo where pid = '" . $values['cover_pid'] . "'"; $param2 = array( 'method' => 'fql.query', 'query' => $fql2, 'callback' => '' ); $fqlResult2 = $facebook->api($param2); $jsarr = array(); foreach( $fqlResult2 as $keys2 => $values2){ } if ($values['name'] != 'Profile Pictures'){ $jsarr['src'] = $album['src']; $count += 1; if ($count == 1){ $outputStr .= "[";} else { $outputStr .= ",";} $outputStr .= json_encode($values2); } } $outputStr .= "]"; $outputStr = str_replace("{","[",$outputStr); $outputStr = str_replace("}","]",$outputStr); echo $outputStr; } ?> 

Когда вы используете PHP PHP SDK, он автоматически декодирует возвращенный объект json в массив PHP. Если вам нужен json-объект, вам придется использовать json_encode после завершения обработки.

У вас есть некоторые серьезные проблемы с вашим PHP-кодом. Для начала:

  • Ваш цикл foreach заканчивается, как только он начинается с } на следующей строке.
  • Где вы определяете переменные $values и $album ?
  • Вы ссылаетесь на $values2 вне вашего цикла foreach .
  • Вы $outputStr .= "["; неинициализированную переменную в свою строку $outputStr .= "["; ,
  • Если вы передадите json_encode() правильный массив данных php, он сделает полный объект json. Вам не нужно будет добавлять скобки любого типа.