2016-10-26 3 views
-1

Я преобразования [NSDictionary] в NSString так:Преобразование NSString в JSON

do{ 

    let newDict = try NSJSONSerialization.dataWithJSONObject(objectDictionaries, options: NSJSONWritingOptions.PrettyPrinted) 
     if let json = NSString(data: newDict, encoding: NSUTF8StringEncoding) { 
      print(json) 
     } 

Когда json печатает я получаю это:

enter image description here

Как преобразовать этот NSString в JSON без изменения формата, как показывает эта фотография? Я хочу отправить этот JSON в API и формат я хочу это только один API-интерфейс будет иметь возможность кодировать,

+1

1) Не вставляйте выходные данные в качестве изображения. Скопируйте и вставьте фактический вывод (и убедитесь, что он отформатирован). 2) Какой формат вы хотите? Поместите эту информацию в свой вопрос. – rmaddy

ответ

1

Удалить опцию NSJSONWritingOptions.PrettyPrinted в вызове dataWithJSONObject. Это то, что принудительно форматирует выводимую строку.

1

Выход NSJSONSerialization.dataWithJSONObject - это действительный JSON, и это то, что вы должны отправить в API. Преобразование в строку бессмысленно, если вы не хотите просматривать выходные данные для целей отладки.

NSJSONWritingOptions.PrettyPrinted полезен, если вы хотите просмотреть выходные данные для целей отладки, но в остальном это просто пустая трата времени и делает JSON на несколько процентов больше, что занимает память, время для отправки в API, время для обработки в API.

PS. Если «Pretty print» или не имеет никакого значения для вашего API, ваш API довольно сильно нарушен.

 Смежные вопросы

  • Нет связанных вопросов^_^