Я сталкиваюсь с тем, что считаю ошибкой. У меня есть массив объектов, возвращаемых с сервера. Однако, вытаскивая из них значения, я получаю несогласованные результаты. Каждый из этих элементов находятся в том же массиве ответа от сервера:Разбор JSON в быстром непоследовательности
Когда я пытаюсь вытащить значение этого одного он возвращается, как в Int
quantity
:
{
address = "4040 MARKET ST RM 226";
city = PHILADELPHIA;
ln = "AMOXICILLIN 500 MG CAPSULE";
ndc = 57237003105;
npi = 1619912375;
"pharmacy_name" = "GRACE PHARMACY INC";
phone = "(215)895-5594";
price = "8.00";
quantity = 500;
state = PA;
vendor = una;
zip = 19104;
}
Однако, когда я пытаюсь тянуть quantity
из этого, он возвращается как String
.
{
address = "1826 Chestnut St # 30";
brand = G;
city = Philadelphia;
distance = "0.06";
latitude = "39.951747";
ln = "AMOXICILLIN 500 MG CAPSULE";
longitude = "-75.171154";
"ncpdp_id" = 3969485;
ndc = 65862001705;
"pharmacy_hours_of_operation" = "Open 24 Hours";
"pharmacy_name" = "CVS PHARMACY";
phone = "(215)972-0909";
price = "11.82";
quantity = 30;
state = PA;
vendor = scriptsave;
zip = "19103-4902";
}
Почему в мире это будет происходить? Оба объекта кажутся идентичными, за исключением некоторых дополнительных значений в одном.
===
сериализации JSON как это:
let searchResultsJSON: NSDictionary = try NSJSONSerialization.JSONObjectWithData(jsonData, options: .MutableContainers) as! NSDictionary
Схватив значения, как это:
quantity = formDictionary["quantity"] as? Int
quantityString = formDictionary["quantity"] as? String
====
Вот JSON:
results = (
{
address = "4040 MARKET ST RM 226";
city = PHILADELPHIA;
ln = "ESOMEPRAZOLE MAG DR 40 MG CAP";
ndc = 13668015510;
npi = 1619912375;
"pharmacy_name" = "GRACE PHARMACY INC";
phone = "(215)895-5594";
price = "74.00";
quantity = 1000;
state = PA;
vendor = una;
zip = 19104;
},
{
address = "1700 Market St";
brand = G;
city = Philadelphia;
distance = "0.22";
latitude = "39.952981";
ln = "ESOMEPRAZOLE MAG DR 40 MG CAP";
longitude = "-75.168431";
"ncpdp_id" = 3985059;
ndc = 00378235193;
"pharmacy_hours_of_operation" = "S(Clsd) M(8a-6p) T(8a-6p) W(8a-6p) T(8a-6p) F(8a-6p) S(9a-12p)";
"pharmacy_name" = "PICKWICK PHARMACY INC";
phone = "(215)563-4860";
price = "241.23";
quantity = 30;
state = PA;
vendor = scriptsave;
zip = "19103-3913";
}
);
Так вот, quantity
в первом возвращается как Int
и как String
во втором. Я начинаю думать, что это проблема на стороне сервера ...
===
Глядя на JSON в Chrome действительно подтверждает, что это ошибка кодирования с сервера. Благодаря @CouchDeveloper
Какой код вы используя для получения величины количества? – Jeremiah
Что вы используете для разбора JSON? –
@TahTatsumoto Я обновил свой вопрос. Спасибо вам за быстрый ответ. – random