Как идентифицировать объект JSON с помощью среды swift и xctest?

Используя NSJSONSerialization.JSONObjectWithData(..), мы можем создать объект JSON. Но можно ли определить тип объекта, т.е. это объект JSON или нет.

Я просто пытался проверить с помощью Swift и XCTestFramework. Я пробовал разные способы, но решения все еще нет?

Примечание. После создания объекта JSON я могу получить значения, а также проверить значения. XCTest Framework отлично работает для тестирования таких вещей. Но я остановился на определении типа объекта.

Кто-нибудь знает, как программно идентифицировать объект JSON с помощью Swift и XCTest framework

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?


person tiny_iOS_developer    schedule 29.06.2015    source источник
comment
если это объект json, то это будет строка {...}. поэтому проверьте первый/последний символы...   -  person Marc B    schedule 29.06.2015
comment
json[ключ] как? NSArray ?   -  person Arbitur    schedule 29.06.2015


Ответы (1)


Если вы получаете допустимую строку в параметре NSData, но эта строка не является допустимым объектом JSON, анализатор выдаст ошибку. Как и в документация:

Если возникает ошибка, при возврате содержит объект NSError, описывающий проблему.

Поэтому проверьте, действительно ли возвращенный объект является NSError. Если вы не получите сообщение об ошибке, я бы с уверенностью предположил, что объект действительно является допустимым объектом JSON.

person Luis Delgado    schedule 29.06.2015