我在使用Freddy SDK解析JSON文件时正努力以正确的格式获取一些值,我试图用JSON解析一些问题和答案,例如:使用Freddy SDK解析JSON文件
{
"success":true,
"quiz":[
{
"question":"Which of the following is required by law?",
"answers":[
["To have your dog microchipped and correct details.", true],
["To have your dog wear a collar and tag with correct contact details.", true],
["To register your dog with the local Dog Warden.", false],
["To pick up after your dog.", true]
],
"imageFileName":"ChippedDog.jpg"
}
]
}
我遇到的麻烦是获得答案和他们的布尔值。我的解析代码是:
func createQuestionObjectsFromJSON() -> [Question] {
self.questions = []
let filePath = Bundle.main.path(forResource: self.fileName, ofType: self.fileType)
if let data = NSData(contentsOfFile:filePath!) {
do {
let json = try JSON(data: data as Data)
for questionJSON in try json.getArray(at:"quiz") {
var question = Question()
question.text = try questionJSON.getString(at: "question")
question.answers = try questionJSON.getArray(at: "answers") as [AnyObject]
question.imageFileName = try questionJSON.getString(at: "imageFileName")
self.questions?.append(question)
}
} catch {
print("Error parsing questions part of JSON file")
}
}
return questions
}
但后来当我尝试访问我的cellForRow在每个答案我不能。
如果呼叫
let answer = currentQuestion.answers[indexPath.row]
然后打印我得到
[To have your dog microchipped and correct details., true]
,但第一个值是不是因为它应该是一个字符串,如果我叫
answer[0]
我得到零。我有点迷路,确定有一个简单的解决方法,但我只是看不到它。
任何帮助将是伟大的。
更新:Qustion结构:
进口的UIKit
struct Question {
var text: String!
var answers: [AnyObject]!
var imageFileName: String!
}
如果我这样做,然后调用'回答[0 ]'我得到错误'类型“任何”没有下标t成员' – Wazza
你需要修改你的结构相应的问题 –
我改变了结构问题到'var answers:Array!'那是什么给了我上面的错误 –
Wazza