У меня возникает странная проблема при извлечении данных из последнего элемента в объекте JSON. В принципе, у меня есть 14 пунктов возвращаются, но когда я пытаюсь захватить элемент из последнего пункта, он говорит, что я только 10. Вот мой код:Alamofire + SwiftyJSON не получает последний элемент в объекте JSON
Alamofire.request(.GET, "http://xyz.herokuapp.com/api/v1/purchases/", parameters: ["login_user": "[email protected]", "login_password": "test123"])
.responseJSON { response in
switch response.result {
case .Success(let data):
let json = JSON(data)
let dispenseToken = json["purchases"]["purchases".length-1]["dispense_token"]
print(json["purchases"]["purchases".length])
case .Failure(let error):
print("Request failed with error: \(error)")
}
покупок JSON возвращает объект следующим образом:
purchases = (
{
"credit_card_id" = "<null>";
"dispense_token" = 759316;
dispensed = 1;
id = 2;
"machine_id" = 1;
"payment_type" = "<null>";
reserved = "<null>";
"user_id" = 1;
},
{
"credit_card_id" = "<null>";
"dispense_token" = 41277;
dispensed = 1;
id = 1;
"machine_id" = 1;
"payment_type" = "<null>";
reserved = "<null>";
"user_id" = 1;
},
{
"credit_card_id" = "<null>";
"dispense_token" = 877725;
dispensed = 1;
id = 3;
"machine_id" = 1;
"payment_type" = "<null>";
reserved = "<null>";
"user_id" = 1;
},
{
"credit_card_id" = "<null>";
"dispense_token" = 5379;
dispensed = "<null>";
id = 4;
"machine_id" = 1;
"payment_type" = "<null>";
reserved = "<null>";
"user_id" = 1;
},
{
"credit_card_id" = "<null>";
"dispense_token" = 246309;
dispensed = "<null>";
id = 5;
"machine_id" = 1;
"payment_type" = "<null>";
reserved = "<null>";
"user_id" = 1;
},
{
"credit_card_id" = "<null>";
"dispense_token" = 573469;
dispensed = "<null>";
id = 6;
"machine_id" = 1;
"payment_type" = "<null>";
reserved = "<null>";
"user_id" = 1;
},
{
"credit_card_id" = "<null>";
"dispense_token" = 770184;
dispensed = "<null>";
id = 7;
"machine_id" = 1;
"payment_type" = "<null>";
reserved = "<null>";
"user_id" = 1;
},
{
"credit_card_id" = "<null>";
"dispense_token" = 199976;
dispensed = "<null>";
id = 8;
"machine_id" = 1;
"payment_type" = "<null>";
reserved = "<null>";
"user_id" = 1;
},
{
"credit_card_id" = "<null>";
"dispense_token" = 531909;
dispensed = "<null>";
id = 9;
"machine_id" = 1;
"payment_type" = "<null>";
reserved = "<null>";
"user_id" = 1;
},
{
"credit_card_id" = "<null>";
"dispense_token" = 608240;
dispensed = "<null>";
id = 10;
"machine_id" = 1;
"payment_type" = "<null>";
reserved = "<null>";
"user_id" = 1;
},
{
"credit_card_id" = "<null>";
"dispense_token" = 843961;
dispensed = "<null>";
id = 11;
"machine_id" = 1;
"payment_type" = "<null>";
reserved = "<null>";
"user_id" = 1;
},
{
"credit_card_id" = "<null>";
"dispense_token" = 938967;
dispensed = "<null>";
id = 12;
"machine_id" = 1;
"payment_type" = "<null>";
reserved = "<null>";
"user_id" = 1;
},
{
"credit_card_id" = "<null>";
"dispense_token" = 212041;
dispensed = "<null>";
id = 13;
"machine_id" = 1;
"payment_type" = "<null>";
reserved = "<null>";
"user_id" = 1;
},
{
"credit_card_id" = "<null>";
"dispense_token" = 204030;
dispensed = "<null>";
id = 14;
"machine_id" = 1;
"payment_type" = "<null>";
reserved = "<null>";
"user_id" = 1;
}
);
Но когда я печатаю JSon [ "покупки"] [ "покупки" .Length], это результат я получаю:
{
"reserved" : null,
"machine_id" : 1,
"id" : 10,
"payment_type" : null,
"dispense_token" : "608240",
"user_id" : 1,
"credit_card_id" : null,
"dispensed" : null
}
есть идеи? Спасибо!
Большое вам спасибо, вот и все! Вы совершенно правы, мне следовало бы лучше узнать, как работают Струны. – Kaidao