При использовании Alamofire Framework мои ответы, похоже, не обрабатываются правильно. Ответ JSON, который я получаю, имеет некоторые ключи, которые, как представляется, не являются строками, и я не знаю, как ссылаться на них/получать их значения.Анализ JSON-ответа с использованием Alamofire в Swift
Вот часть моего кода, который делает вызов:
var url = "http://api.sandbox.amadeus.com/v1.2/flights/low-fare-search"
var params = ["origin": "IST",
"destination":"BOS",
"departure_date":"2014-10-15",
"number_of_results": 1,
"apikey": KEY]
Alamofire.request(.GET, url, parameters: params)
.responseJSON { (_, _, json, _) in
println(json)
}
}
А вот первый раздел распечатку, когда эта функция называется
Optional({
currency = USD;
results = ({
fare = {
"price_per_adult" = {
tax = "245.43";
"total_fare" = "721.43";
};
restrictions = {
"change_penalties" = 1;
refundable = 0;
};
"total_price" = "721.43";
};
...
});
});
Вы заметите, что results
не является "results"
, но "price_per_adult"
- правильный формат. Есть ли какой-то шаг, который мне не хватает? Когда я бросаю его в NSDictionary, он не делает ничего, чтобы помочь в ключевом формате.
Я также пробовал одну и ту же конечную точку в javascript и ruby, и оба возвратились без проблем, поэтому я уверен, что это не API, который вызывает проблемы.
Путаница над 'NSLog' /' Println Недопустимое представление JSON - это то, что я заметил во многих случаях. Интересно, как можно документировать или разъяснять это ... – mattt
(Связано, я видел, что кто-то недавно выражал путаницу в выходе журнала NSData. «Почему я получаю цифры, когда хочу текст?» Справедливо, разумный вопрос) – mattt
@mattt Да, я видел это совсем немного. Я думаю, что часть проблемы заключается в том, что искать SO на жестком уровне сложно; возможно, некоторые лучшие вопросы будут помогать, но я не могу думать о хорошем. Интересно, поможет ли эта запись в соответствующем разделе README.md Alamofire (и AFNetworking's) в отношении этого? Я знаю, что это не имеет ничего общего с этими библиотеками, и это будет немного неуместно, но это придаст проблеме некоторую видимость, поскольку эти библиотеки настолько популярны (хорошая работа BTW;)). –