Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка платформы основы ссылка класса NSJSONSerialization

Опции
Развертывание Target:

На этой странице
Язык:

NSJSONSerialization

Вы используете NSJSONSerialization класс, чтобы преобразовать JSON в объекты Основы и преобразовать объекты Основы в JSON.

Объект, который может быть преобразован в JSON, должен иметь следующие свойства:

  • Объект верхнего уровня NSArray или NSDictionary.

  • Все объекты являются экземплярами NSString, NSNumber, NSArray, NSDictionary, или NSNull.

  • Все ключи словаря являются экземплярами NSString.

  • Числами не является NaN или бесконечность.

Другие правила могут применяться. Вызов isValidJSONObject: или попытка преобразования является категорическими способами сказать, может ли данный объект быть преобразован в данные JSON.

Наследование


Соответствует


Оператор импорта


Swift

import Foundation

Objective C

@import Foundation;

Доступность


Доступный в OS X v10.7 и позже.
  • Возвращает объект Основы из данных данных JSON.

    Объявление

    Swift

    class func JSONObjectWithData(_ data: NSData, options opt: NSJSONReadingOptions, error error: NSErrorPointer) -> AnyObject?

    Objective C

    + (id)JSONObjectWithData:(NSData *)data options:(NSJSONReadingOptions)opt error:(NSError **)error

    Параметры

    data

    Объект данных, содержащий данные JSON.

    opt

    Опции для чтения данных JSON и создания объектов Основы.

    Для возможных значений посмотрите NSJSONReadingOptions.

    error

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

    Возвращаемое значение

    Объект Основы от данных JSON в data, или nil если происходит ошибка.

    Обсуждение

    Данные должны быть в одних из 5 поддерживаемых кодировок, перечисленных в спецификации JSON: UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE. Данные могут или могут не иметь BOM. Самое эффективное кодирование для использования для парсинга является UTF-8, поэтому если у Вас есть выбор в кодировании данных, переданных этому методу, используйте UTF-8.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Возвращает объект Основы из данных JSON в данном потоке.

    Объявление

    Swift

    class func JSONObjectWithStream(_ stream: NSInputStream, options opt: NSJSONReadingOptions, error error: NSErrorPointer) -> AnyObject?

    Objective C

    + (id)JSONObjectWithStream:(NSInputStream *)stream options:(NSJSONReadingOptions)opt error:(NSError **)error

    Параметры

    stream

    Поток, из которого можно считать данные JSON.

    Поток должен быть открыт и сконфигурирован.

    opt

    Опции для чтения данных JSON и создания объектов Основы.

    Для возможных значений посмотрите NSJSONReadingOptions.

    error

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

    Возвращаемое значение

    Объект Основы от данных JSON в stream.

    Обсуждение

    Данные в потоке должны быть в одних из 5 поддерживаемых кодировок, перечисленных в спецификации JSON: UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE. Данные могут или могут не иметь BOM. Самое эффективное кодирование для использования для парсинга является UTF-8, поэтому если у Вас есть выбор в кодировании данных, переданных этому методу, используйте UTF-8.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Возвраты данные JSON от объекта Основы.

    Объявление

    Swift

    class func dataWithJSONObject(_ obj: AnyObject, options opt: NSJSONWritingOptions, error error: NSErrorPointer) -> NSData?

    Objective C

    + (NSData *)dataWithJSONObject:(id)obj options:(NSJSONWritingOptions)opt error:(NSError **)error

    Параметры

    obj

    Объект, от которого можно генерировать данные JSON. Не должен быть nil.

    opt

    Опции для создания данных JSON.

    Посмотрите NSJSONWritingOptions для возможных значений. Передача 0 не указать опции.

    error

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

    Возвращаемое значение

    Данные JSON для obj, или nil если происходит внутренняя ошибка. Получающиеся данные являются закодированным в UTF-8.

    Обсуждение

    Если obj не произведет допустимый JSON, исключение выдается. Это исключение выдается до парсинга и представляет программную ошибку, не внутреннюю ошибку. Необходимо проверить, произведет ли ввод допустимый JSON прежде, чем вызвать этот метод при помощи isValidJSONObject:.

    Установка NSJSONWritingPrettyPrinted опция генерирует JSON с пробелом, разработанным для создания вывода более читаемым. Если та опция не будет установлена, то самый компактный JSON будет сгенерирован.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Пишет данный объект JSON в поток.

    Объявление

    Swift

    class func writeJSONObject(_ obj: AnyObject, toStream stream: NSOutputStream, options opt: NSJSONWritingOptions, error error: NSErrorPointer) -> Int

    Objective C

    + (NSInteger)writeJSONObject:(id)obj toStream:(NSOutputStream *)stream options:(NSJSONWritingOptions)opt error:(NSError **)error

    Параметры

    obj

    Объект записать в stream.

    stream

    Поток, в который можно записать.

    Поток должен быть открыт и сконфигурирован.

    opt

    Опции для записи данных JSON.

    Посмотрите NSJSONWritingOptions для возможных значений. Передача 0 не указать опции.

    error

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

    Возвращаемое значение

    Число байтов, записанных в поток, или 0 если происходит ошибка.

    Обсуждение

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Возвращает булево значение, указывающее, может ли данный объект быть преобразован в данные JSON.

    Объявление

    Swift

    class func isValidJSONObject(_ obj: AnyObject) -> Bool

    Objective C

    + (BOOL)isValidJSONObject:(id)obj

    Параметры

    obj

    Объект протестировать.

    Возвращаемое значение

    YEStrue если obj может быть преобразован в данные JSON, иначе NOfalse.

    Обсуждение

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Опции, используемые при создании объектов Основы из данных JSON — видят JSONObjectWithData:options:error: и JSONObjectWithStream:options:error:.

    Объявление

    Swift

    struct NSJSONReadingOptions : RawOptionSetType { init(_ rawValue: UInt) init(rawValue rawValue: UInt) static var MutableContainers: NSJSONReadingOptions { get } static var MutableLeaves: NSJSONReadingOptions { get } static var AllowFragments: NSJSONReadingOptions { get } }

    Objective C

    enum { NSJSONReadingMutableContainers = (1UL << 0), NSJSONReadingMutableLeaves = (1UL << 1), NSJSONReadingAllowFragments = (1UL << 2) }; typedef NSUInteger NSJSONReadingOptions;

    Константы

    • MutableContainers

      NSJSONReadingMutableContainers

      Указывает, что массивы и словари создаются как непостоянные объекты.

      Доступный в OS X v10.7 и позже.

    • MutableLeaves

      NSJSONReadingMutableLeaves

      Указывает, что листовые строки в графе объектов JSON создаются как экземпляры NSMutableString.

      Доступный в OS X v10.7 и позже.

    • AllowFragments

      NSJSONReadingAllowFragments

      Указывает, что синтаксический анализатор должен позволить объекты верхнего уровня, которые не являются экземпляром NSArray или NSDictionary.

      Доступный в OS X v10.7 и позже.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Опции для записи данных JSON.

    Объявление

    Swift

    struct NSJSONWritingOptions : RawOptionSetType { init(_ rawValue: UInt) init(rawValue rawValue: UInt) static var PrettyPrinted: NSJSONWritingOptions { get } }

    Objective C

    enum { NSJSONWritingPrettyPrinted = (1UL << 0) }; typedef NSUInteger NSJSONWritingOptions;

    Константы

    • PrettyPrinted

      NSJSONWritingPrettyPrinted

      Указывает, что данные JSON должны быть сгенерированы с пробелом, разработанным для создания вывода более читаемым. Если эта опция не установлена, самое компактное представление JSON сгенерировано.

      Доступный в OS X v10.7 и позже.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.7 и позже.