#ios #objective-c #swift #nsdictionary
#iOS #objective-c #swift #nsdictionary
Вопрос:
Есть ли какие-либо инструменты, включая онлайн-сервис и приложение macOS, для украшения вложенного NSDictionary
результата таким образом?
{
id = 1;
testName = my name;
createDate = 20021023;
likeNumber = 0;
statusList = ({
appleId = 1;
orangeName = 81;
itsStatus = YES;
});
text = test;
type = Text;
},
Я имею в виду простое свертывание (закрытие и открытие) узлов дерева.
В настоящее время существует множество онлайн-инструментов для этой цели, когда речь идет о JSON
таких , как jsonformatter.
Комментарии:
1. доступен ли ваш словарь в формате JSON? потому что вы могли бы сначала просто распечатать его как JSON, а затем использовать один из других инструментов .. ?
2. Вы имеете в виду печать? Или путем отступа в коде?
3. @Larme ни один из них, см. jsonformatter.curiousconcept.com
4. @Fonix Я думаю, что это единственное решение, да
5. @SoheilNovinfard Я имел в виду следующее: если вы делаете это в своем коде
NSDict *@{@"key":@(1), @[@{@"Key2:amp;(3)}]...}
, может быть какой-нибудь плагин для XCode, который делает отступ. Теперь. Приведенная вами строка результата взята из «print» / NSLog, так какова цель? Используя «украсить»description
NSDictionary? Делать только журналы?
Ответ №1:
Как упоминалось в Fonix, лучший способ преобразовать NSDictionary
в JSON
, а затем использовать JSON
инструменты для этой цели:
(NSString *)dictionaryToJson:(NSDictionary *)dictionary {
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dictionary
options:NSJSONWritingPrettyPrinted // Pass 0 if you don't care about the readability of the generated string
error:amp;error];
NSString *jsonString;
if (! jsonData) {
NSLog(@"Got an error: %@", error);
jsonString = [error localizedDescription];
} else {
jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
}
return jsonString;
}