У меня есть файл json на моем компьютере.Я пытаюсь прочитать это с помощью этого кода:
func ReadQuestion(){
let path = "/Users/bishnudas/Documents/ExamFiles/questions.json"
do {
let data = try Data(contentsOf: URL(fileURLWithPath: path), options: .mappedIfSafe)
if(data.count != 0){
let jsonResult = try JSONSerialization.jsonObject(with: data)
self.exampage.ExamQuestion = data
self.exampage.showWindow(nil)
self.window?.close()
}
} catch {
print(error)
}
}
После прочтения этого файла JSON я отправляю данные в другое окно и пытаюсь преобразовать эти данные следующим образом:
func LoadQuestionPaper(){
do{
let QSJS = try JSONSerialization.jsonObject(with: ExamQuestion!, options:JSONSerialization.ReadingOptions.mutableContainers) as! NSDictionary //Getting error signal sigabrt here
}catch {
print(error)
}
}
Сообщение об ошибке в консоли:
Не удалось преобразовать значение типа '__NSArrayM' (0x7fffa16f0fd0) в 'NSDictionary' (0x7fffa16f32d0).
2019-01-21 13: 39: 50.214466 + 0530 UnoxСтуденческая консоль [2071: 66993] Не удалось преобразовать значение типа '__NSArrayM' (0x7fffa16f0fd0) в 'NSDictionary' (0x7fffa16f32d0).
Печать описания QSJS:
(NSDictionary) QSJS =
Моя файловая структура json:
[{
"id": 1,
"type": "sub",
"text": "{\\rtf1\\ansi\\ansicpg1252\\uc1\\htmautsp\\deff2{\\fonttbl{\\f0\\fcharset0 Times New Roman;}{\\f2\\fcharset0 Segoe UI;}}{\\colortbl\\red0\\green0\\blue0;\\red255\\green255\\blue255;}\\loch\\hich\\dbch\\pard\\plain\\ltrpar\\itap0{\\lang1033\\fs18\\f2\\cf0 \\cf0\\ql{\\fs24\\f0\\b {\\lang2057\\ltrch Short notes: Concept based (20 marks)}\\li0\\ri0\\sa0\\sb0\\fi0\\qj\\par}\r\n{\\fs24\\f0\\b {\\ltrch }\\li0\\ri0\\sa0\\sb0\\fi0\\qj\\par}\r\n{\\f2 {\\ltrch }\\li0\\ri0\\sa0\\sb0\\fi0\\ql\\par}\r\n}\r\n}",
"num_toans": 4,
"total_marks": 20,
"questions": [{
"IsAnswered": null,
"markedForReview": null,
"id": 1,
"marks": 5,
"type": "etq",
"q_text": "{\\rtf1\\ansi\\ansicpg1252\\uc1\\htmautsp\\deff2{\\fonttbl{\\f0\\fcharset0 Times New Roman;}{\\f2\\fcharset0 Segoe UI;}}{\\colortbl\\red0\\green0\\blue0;\\red255\\green255\\blue255;}\\loch\\hich\\dbch\\pard\\plain\\ltrpar\\itap0{\\lang1033\\fs18\\f2\\cf0 \\cf0\\ql{\\fs24\\f0 {\\lang2057\\ltrch Why will ABC unit cost figures be different from TCA unit cost figures}{\\lang2057\\ltrch \\rdblquote }{\\lang2057\\ltrch ?}\\li0\\ri0\\sa0\\sb0\\fi0\\ql\\par}\r\n}\r\n}",
"attachments": null,
"choices": null,
"tfq_ans": null,
"blank_count": 0,
"fitb_ans": null,
"mcq_index": -1,
"mcq_text": null,
"excel_ans_attachment": "0",
"word_ans_attachment": "0",
"essay_ans_attachment": null,
"subSections": null
},
...
]
}]
Может кто-нибудь помочь мне решить эту проблему или предложить мне правильный способ преобразования этих данных в словарь, пожалуйста?