У меня есть JSON, который имеет JSONArray как значение в одном из json внутри него. вот пример этого.Как проверить пустой JSONArray в swiftyJSON
[
{
"id": 1,
"symptoms" : [{\"key\":\"sample1\",\"value\":5},{\"key\":\"sample2\",\"value\":5}]
},
{
"id": 2,
"symptoms" : [{\"key\":\"sample3\",\"value\":1}]
},
{ "id": 3,
"symptoms" : []
},
{
"id": 4,
"symptoms": [{\"key\":\"sample4\",\"value\":1}]
}
]
Так что я делаю то, что я разбор внутреннего JSON и поместить его в массиве строк. Но всякий раз, когда я смотрю на symptoms
, он пропускает пустой JSONArray. Поэтому всякий раз, когда я печатаю String Array, он выглядит примерно так (с данным примером сверху) ["sample1", "sample2", "sample3", "sample4"]
. Но я хочу сделать, чтобы добавить ""
в String Array всякий раз, когда JSONArray пуст, поэтому это должно быть как ["sample1", "sample2", "sample3", "", "sample4"]
. Кто-нибудь может мне помочь? Вот мой код
var arrayHolder: [String] = []
var idHolder: [Int] = []
for item in swiftyJSON.arrayValue {
idHolder.append(item["id"].intValue)
//for the inner JSON
let innerJSON = JSON(data: item["symptoms"].dataUsingEncoding(NSUTF8StringEncoding)!)
for symptoms in innerJSON.arrayValue {
arrayHolder.append(symptoms["key"].stringValue)
}
}
print(idHolder) // [1,2,3,4]
print(arrayHolder) // ["sample1","sample2","sample3","sample4"]
спасибо большое за это! не знал о методе 'isEmpty'. Я собираюсь принять этот ответ за 20 секунд. – Reginald
Я обновил ответ с более эффективной версией. – vadian