У меня есть, dictionary
мне нужно создать JSON string
с помощью dictionary
. Можно ли его конвертировать? Ребята, не могли бы вы помочь с этим?
ios
objective-c
json
string
Чандрасекаром
источник
источник
Ответы:
Вот категории для NSArray и NSDictionary, чтобы сделать это очень легко. Я добавил опцию «Pretty-Print» (новые строки и вкладки для удобства чтения).
,
,
,
источник
NSUTF8StringEncoding
это правильная кодировка?NSNumber
,NSString
иNSNull
- выяснит через минуту или два!Apple добавила парсер JSON и сериализатор в iOS 5.0 и Mac OS X 10.7. Смотрите NSJSONSerialization .
Чтобы сгенерировать строку JSON из NSDictionary или NSArray, вам больше не нужно импортировать какие-либо сторонние фреймворки.
Вот как это сделать:
источник
NSArray
иNSDictionary
значительно упростит ее повторное использование.[NSJSONSerialization JSONObjectWithData:options:error:]
возвращает объект Foundation на основе данных JSONЧтобы преобразовать NSDictionary в NSString:
источник
ПРИМЕЧАНИЕ. Этот ответ был дан до выхода iOS 5.
Получите json-framework и сделайте это:
myDictionary
будет вашим словарем.источник
Вы также можете сделать это на лету, введя следующее в отладчик
источник
error: use of undeclared identifier 'NSUTF8StringEncoding'
Вы можете передать массив или словарь. Здесь я беру NSMutableDictionary.
Чтобы сгенерировать строку JSON из NSDictionary или NSArray, вам не нужно импортировать какие-либо сторонние фреймворки. Просто используйте следующий код: -
источник
источник
+[NSJSONSerialization dataWithJSONObject:options:error:]: Invalid top-level type in JSON write'
об ошибке. Использование XCode 9.0В Swift (версия 2.0) :
источник
Теперь нет необходимости в сторонних классах ios 5, введенных Nsjsonserialization
этот код может быть полезен для получения jsondata.
источник
NSJSONReadingMutableLeaves | NSJSONReadingMutableContainers
.В Swift я создал следующую вспомогательную функцию:
источник
По крайней мере, с ISO7 вы можете легко сделать это с NSJSONSerialization .
источник
Вот версия Swift 4
}
Пример использования
Или, если вы уверены, что это правильный словарь, то вы можете использовать
источник
Это будет работать в swift4 и swift5.
источник
Это довольно близко к оригинальному стилю печати Objective-C
источник