1

使用NSJSONSerialization.JSONObjectWithData(..)我们可以创建一个 JSON 对象。但是是否可以识别对象类型,即。它是否是 JSON 对象。

我只是想检查使用 Swift 和 XCTestFramework。我尝试了不同的方法,但仍然没有解决方案?

注意:创建 JSON 对象后,我可以获取值,也可以检查值。XCTest 框架可以很好地测试这些类型的东西。但是,我坚持识别对象类型。

任何人都知道如何使用 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有可能像上面那样吗?

4

1 回答 1

1

如果您在 NSData 参数中得到一个有效的字符串,但该字符串不是一个有效的 JSON 对象,那么解析器将抛出一个错误。从文档中:

如果发生错误,返回时包含描述问题的 NSError 对象。

所以检查返回的对象是否真的是一个 NSError。如果您没有收到错误,那么我会安全地假设该对象确实是一个有效的 JSON 对象。

于 2015-06-29T19:52:26.990 回答