1

を使用しNSJSONSerialization.JSONObjectWithData(..)て、JSON オブジェクトを作成できます。しかし、オブジェクトタイプを識別することは可能ですか? JSONオブジェクトかどうか。

Swift と XCTestFramework を使用して確認しようとしていました。さまざまな方法を試しましたが、まだ解決策はありませんか?

注: JSON オブジェクトの作成後、値を取得でき、値を確認することもできます。XCTest フレームワークは、これらのタイプのものをテストするために正常に動作しています。しかし、私はオブジェクトの種類を特定することにこだわりました。

Swift と XCTest フレームワークを使用してプログラムで JSON オブジェクトを識別する方法は誰にでもあります

Update:たとえば、Web サイトのテストでは、次のことができます。

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 に答える