使用NSJSONSerialization.JSONObjectWithData(..)
我们可以创建一个JSON对象。但是有可能识别对象类型即。它是否是一个JSON对象。
我只是想尝试使用Swift和XCTestFramework进行检查。我尝试了不同的方法,但仍然没有解决方案?
注意:创建JSON对象后,我可以获取值,也可以检查值。 XCTest Framework可以很好地测试这些类型的东西。但是,我坚持要确定对象类型。
任何人都知道如何使用Swift和XCTest框架以编程方式识别JSON对象
Update:
例如,对于网站测试,我们可以执行以下操作:
if let HTTPResponse = response as? NSHTTPURLResponse,
responseURL = HTTPResponse.URL,
MIMEType = HTTPResponse.MIMEType
{
XCTAssertEqual(responseURL.absoluteString, URL.absoluteString, "HTTP response URL should be equal to original URL")
XCTAssertEqual(HTTPResponse.statusCode, 200, "HTTP response status code should be 200")
XCTAssertEqual(MIMEType, "text/html", "HTTP response content type should be text/html")
} else {
XCTFail("Response was not NSHTTPURLResponse")
}
JSON有可能像上面那样吗?
答案 0 :(得分:1)
如果在NSData参数中获得了有效的字符串,但该String不是有效的JSON对象,则解析器将抛出错误。从documentation开始:
如果发生错误,则返回时包含一个描述问题的NSError对象。
因此检查返回的对象是否实际上是NSError。如果你没有收到错误,那么我会安全地假设该对象确实是一个有效的JSON对象。