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/

10-11 23:35