Я новичок в SwiftyJSON, и у меня возникли некоторые проблемы с ним. Я могу заставить его возвращать весь файл JSON в виде строки, но в тот момент, когда я пытаюсь его проанализировать, я продолжаю возвращать пустые переменные, и я не уверен, что делаю неправильно.
Это форматирование моего файла JSON:
[
{
"entryID": 1,
"from": "String",
"to": "String",
"value": "String"
},
{
...
},
...
]
И это примерно то, что я хочу с ним сделать (в довольно неэлегантном коде, я извиняюсь, я новичок в Swift):
for entry: JSON in indexJSON.arrayValue {
var vEntryID: Int
var vFrom: String
var vTo: String
var vValue: String
for (dictKey: String, dictVal: JSON) in entry.dictionaryValue {
if(dictKey=="entryID") {vEntryID = dictVal.intValue}
if(dictKey=="from") {vFrom = dictVal.stringValue}
if(dictKey=="to") {vTo = dictVal.stringValue}
if(dictKey=="value") {vValue = dictVal.stringValue}
}
someSwiftObject[vEntryID]["from"] = vFrom
someSwiftObject[vEntryID]["to"] = vTo
someSwiftObject[vEntryID]["value"] = vValue
}
Однако этот блок вообще никогда не выполняется, потому что indexJSON.arrayValue всегда пуст.
Когда я пытаюсь запустить следующее, он правильно выводит полное содержимое файла на консоль:
let indexJSON = JSON(content!)
println(indexJSON.stringValue)
Но когда я пытаюсь углубиться, чтобы получить любой элемент, он ничего не возвращает:
if(indexJSON.arrayValue.isEmpty==true) {println("indexJSON.arrayValue is Empty")}
if(indexJSON[0].arrayValue.isEmpty==true) {println("indexJSON[0].arrayValue is Empty")}
if(indexJSON[0].dictionaryValue.isEmpty==true) {println("indexJSON[0].dictionaryValue is Empty")}
if(indexJSON[0]["entryID"]==nil) {println("indexJSON[0][\"entryID\"].stringValue is Empty")}
Выход:
indexJSON.arrayValue is Empty
indexJSON[0].arrayValue is Empty
indexJSON[0].dictionaryValue is Empty
indexJSON[0]["entryID"].stringValue is Empty
Буду благодарен за любую помощь! Что я делаю не так?