用freddysdk解析JSON文件
在使用解析JSON文件时,我正在努力以正确的格式获取一些值,我正在尝试解析JSON测试中的一些问题和答案,如下所示:用freddysdk解析JSON文件,json,swift,swift3,Json,Swift,Swift3,在使用解析JSON文件时,我正在努力以正确的格式获取一些值,我正在尝试解析JSON测试中的一些问题和答案,如下所示: { "success":true, "quiz":[ { "question":"Which of the following is required by law?", "answers":[ ["To have yo
{
"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
}
但是,当我试图访问我手机里的每一个答案时,我就无能为力了
如果呼叫
let answer=currentQuestion.answers[indexPath.row]
然后我把它打印出来
[将您的狗植入芯片并更正详细信息,正确]
但是第一个值不是一个字符串,如果我调用
回答[0]
我得零分。我有点迷路了,肯定有一个简单的解决办法,但我就是看不见
任何帮助都会很好
更新:质询结构:
导入UIKit
struct Question {
var text: String!
var answers: [AnyObject]!
var imageFileName: String!
}
try
question.answers=try questionJSON.getArray(at:“answers”)作为[Array]
而不是:
question.answers=尝试questionJSON.getArray(at:“answers”)作为[AnyObject]
如果我这样做,然后调用answer[0]
我得到错误键入“Any”没有下标成员
你需要相应地修改你的结构问题我将结构问题更改为var answers:Array代码>这就是导致我出现上述错误的原因