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.目前,如果我在代码中可以看到的“myfile”文件中输入任何内容,则validJson始终为true.
我怎么能解决这个问题,所以当它实际上是有效的JSON时,validJson才是真的?
isValidJSONObject:
返回一个布尔值,指示是否可以将给定对象转换为JSON数据.
代码示例
let jsonString = "{}" let jsonData = jsonString.data(using: String.Encoding.utf8) if JSONSerialization.isValidJSONObject(jsonData) { print("Valid Json") } else { print("InValid Json") }