iOS - Facebook SDK, результаты анализа - PullRequest
1 голос
/ 20 февраля 2012

В моем методе -request:didLoad: делегата я NSLog получаю результаты, но не могу понять, что это за контент?

Похоже, что результат NSArray, но что внутри? как мне разобрать данные?

Пример журнала выглядит так:

result: (
        {
        "fql_result_set" =         (
                        {
               uid2 = 1234567;
            },
                        {
                uid2 = 12345678;
            }
        );
        name = queryID;
    },
        {
        "fql_result_set" =         (
                        {
                "birthday_date" = "05/12/1987";
                name = "John Doe";
            },
                        {
                "birthday_date" = "03/01/1978";
                name = "Jane Doe";
            }
        );
        name = queryBirthday;
    }
)

Ответы [ 2 ]

2 голосов
/ 20 февраля 2012

В руководстве по Facebook для iOS в разделе "Шаг 6: Использование Graph API" написано

Обратите внимание, что ответ сервера будет в строковом формате JSON. SDK использует библиотеку JSON с открытым исходным кодом https://github.com/stig/json-framework/ для анализа результата. Если произойдет ошибка синтаксического анализа, SDK выполнит запрос обратного вызова: didFailWithError: в вашем делегате.

Успешным запросом будет обратный вызов: didLoad: в вашем делегате. Результат, переданный вашему делегату, может быть NSArray, если имеется несколько результатов, или NSDictionary, если имеется только один результат.

В вашем примере все, что напечатано NSLog внутри "()", является частью NSArray, в то время как все, что внутри "{}" (у которого также есть ключи), является частью NSDictionary и, следовательно, доступно по ключу (имени).

http://developers.facebook.com/docs/mobile/ios/build/

1 голос
/ 20 февраля 2012

Согласно https://developers.facebook.com/docs/reference/api/, все «ответы» являются объектами JSON.Для их анализа в iOS 5 предусмотрен класс NSJSONSerialization ( Ссылка на класс NSJSONSerialization )

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

NSDictionary *dictionaryJSON = [NSJSONSerialization JSONObjectWithData:responseData options:NSJSONReadingMutableLeaves error:&error];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...