首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用SwiftyJSON框架读取本地声明的JSON

如何使用SwiftyJSON框架读取本地声明的JSON
EN

Stack Overflow用户
提问于 2017-03-20 09:50:16
回答 1查看 59关注 0票数 0

我正在尝试读取一个本地声明的JSON,因为我仍然没有准备好为我们正在开发的应用程序发送JSON示例的网络。由于某些原因,当我试图打印由SwiftyJSON框架创建的json时,我会得到一个null。这是我的课:

代码语言:javascript
运行
复制
import Foundation
import SwiftyJSON
let mockShifts = "{\"numOfShiftsInDay\": 3,\"shifts\": [{\"StartTime\": \"06:30\",\"EndTime\": \"14:00\"},{\"StartTime\": \"14:00\",\"EndTime\": \"19:00},{\"StartTime\": \"19:00\",\"EndTime\":\"01:00\"}]}"
class WeeklySchedule {

var shifts: [Shift] = []
var shiftsAmount: Int = 3
var relative: Int = 0
func setShiftsAmount(amount: Int){
    self.shiftsAmount = amount
    for _ in 1...amount{
        self.shifts.append(Shift())
    }
    getShifts()
}

func getRelative() -> Int{
    return relative
}
func getShifts(){
    let data = mockShifts.data(using: .utf8)!
    let json = JSON(data: data)
    print(mockShifts) //This prints out a JSON that looks OK to me
    print(json)       //This prints NULL
    if let numOfShifts = json["numOfShiftsInDay"].string {
        print(numOfShifts) //This code is unreachable
    }
}
}

这是我的控制台输出,当调用setShiftsAmount() (调用getShifts() )时

{"numOfShiftsInDay":3,“移位”:{"StartTime":"06:30","EndTime":"14:00"},{"StartTime":"14:00","EndTime":"19:00},{"StartTime":"19:00",“EndTime”:“01:00”} 空

为什么我的JSON为空?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-20 09:54:36

由于您的JSON字符串mockShifts不包含有效的JSON,所以要获得null的原因是,在数组移位的第二个对象19:00之后,EndTime键缺少double quote(\")。加上双引号,你们就都准备好了。

代码语言:javascript
运行
复制
let mockShifts = "{\"numOfShiftsInDay\": 3,\"shifts\": [{\"StartTime\": \"06:30\",\"EndTime\": \"14:00\"},{\"StartTime\": \"14:00\",\"EndTime\": \"19:00\"},{\"StartTime\": \"19:00\",\"EndTime\":\"01:00\"}]}"
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42900359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档