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

Привет всем, у меня есть следующий скрипт 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's status update.
[story_tags] => stdClass Object
etc etc....

Я знаю, почему я получаю массив (AsArray ();) но мне нужно преобразовать его в JSON. Я пытаюсь сделать это через JSON.net VB.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, чтобы получить это в правильном формате?

0

Решение

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

$json = json_encode($graphObject);

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

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

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

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]