HTTP-фейсбук в PHP, возвращающий массив, а не JSON

0

Привет всем, у меня есть следующий PHP-скрипт, который собирает некоторую информацию из API facebook:

$request = (new FacebookRequest(
    $session, 'GET', '/me/home'
));

$response           = $request->execute();
$graphObject        = $response->getGraphObject()->asArray();
print_r($graphObject);

Однако вывод этого выглядит следующим образом:

Array
(
  [data] => Array
    (
        [0] => stdClass Object
            (
                [id] => xxxxxxx78552_74905xxxxxxxx
                [from] => stdClass Object
                    (
                        [id] => 72xxxxxx05xxxx52
                        [name] => Tom xxxxxx
                    )

                [story] => Tom xxxx shared xxxxx xxxxx status update.
                [story_tags] => stdClass Object
       etc etc....

Я знаю, почему я получаю массив (asArray();), но мне нужно преобразовать его в JSON. Я пытаюсь сделать это через VB.net JSON.net:

result = mainPage.theNewsFeed
objWriter = New System.IO.StreamWriter(Application.StartupPath & "\home.json", False, Encoding.UTF8)
objWriter.Write(JSONDeserialize(result).ToString)
objWriter.Close()

Этот код выше вызывает эту ошибку:

Неожиданный символ, встречающийся при разборе значения: A. Путь '', строка 0, позиция 0.

на линии:

objWriter.Write(JSONDeserialize(result).ToString)

Который я могу понять, так как его не в правильном формате json.

Как я могу преобразовать его с помощью PHP или VB.net, чтобы получить его в правильном формате?

Теги:
facebook-graph-api

1 ответ

0

Ну, чтобы вывести массив как JSON в PHP, вы хотите использовать его функцию json_encode и использовать свой массив в качестве параметра. Он вернет строку JSON.

$json = json_encode($graphObject);

У меня нет опыта работы с VB.net, но я предполагаю, что вы используете неправильный метод.

Сериализация означает, что объект или массив будут преобразованы в строковое представление (например, JSON). Deserialize означает, что строка будет преобразована в объекты или массивы.

Таким образом, метод, который вы используете, на самом деле ожидает JSON вместо его создания.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню