let data = NSData(contentsOfFile: "myfile")
let jsonString = NSString(data: data, encoding: NSUTF8StringEncoding)
let jsonData: NSData! = jsonString.dataUsingEncoding(NSUTF8StringEncoding)!
var validJson = false
if (NSJSONSerialization.JSONObjectWithData(jsonData, options: nil, error: &error) != nil) {
validJson = true
}
我希望上面的代码仅在jsonData的内容实际上是有效的JSON时才将
validJson
设置为true。目前,如果我将任何内容泵入“myfile”文件(可以在代码中看到),那么validJson
就是,始终是 true。如何解决此问题,以便
validJson
仅在实际上有效的JSON时才为true? 最佳答案
isValidJSONObject:
返回一个 bool 值,该值指示是否可以将给定对象转换为JSON数据。
代码示例
let jsonString = "{}"
let jsonData = jsonString.data(using: String.Encoding.utf8)
if JSONSerialization.isValidJSONObject(jsonData) {
print("Valid Json")
} else {
print("InValid Json")
}
API REFERENCE:
关于json - Swift-检查JSON是否有效,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32320022/