При разборе строки json
«{timeInterval=60, stepList=[0, 0, 0, 186, 1928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 296, 0, 0 , 0, 0, 0]}”
Ошибка: первый символ должен быть строкой ключа
Error Domain=NSCocoaErrorDomain Code=3840 «Нет строкового ключа для значения в объекте вокруг символа 1». UserInfo={NSDebugDescription=Нет строкового ключа для значения в объекте вокруг символа 1.}
причина
Строка не является стандартной строкой json, стандартная строка должна выглядеть следующим образом.
"{\"timeInterval\":60, \"stepList\":[0, 0, 0, 186, 1928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 296, 0, 0, 0, 0, 0]}"
Разобрать строку json со знаком равенства (=)
class C1StepModel:Decodable {
var timeInterval:Int = 60
var stepList:[Int] = [1,2]
}
var jsonStr = "{timeInterval=60, stepList=[0, 0, 0, 186, 1928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 296, 0, 0, 0, 0, 0]}"
jsonStr = jsonStr.replacingOccurrences(of: "=", with: ":")
jsonStr = jsonStr.replacingOccurrences(of: "timeInterval", with: "\"timeInterval\"")
jsonStr = jsonStr.replacingOccurrences(of: "stepList", with: "\"stepList\"")
let data:Data = jsonStr.data(using: .utf8)!
let model = try! JSONDecoder().decode(C1StepModel.self, from: data)