Я пытаюсь создать строку из объекта с помощью JSON сериализациюJson Сериализация массива IOS
Input я есть
NSDictionary *sampledict = @{@"TextVal": @"10233"};
NSArray *arr = [NSArray arrayWithObject:sampledict];
Выход требуется
[{\"testval\":\"10233\"}]
Что я пытался
NSDictionary *sampledict = @{@"TextVal": @"10233"};
NSArray *arr = [NSArray arrayWithObject:sampledict];
NSData *innerJson = [NSJSONSerialization dataWithJSONObject:arr options:0 error:NULL];
NSString *innerJsonString = [[NSString alloc] initWithData:innerJson encoding:NSUTF8StringEncoding];
NSLog(@"%@",innerJsonString);
// NSMutableDictionary *dict = [NSMutableDictionary dictionary];
// [dict setObject:innerJsonString forKey:@"sampleId"];
NSData *json = [NSJSONSerialization dataWithJSONObject:innerJsonString options:0 error:NULL];
NSString *jsonString = [[NSString alloc] initWithData:json encoding:NSUTF8StringEncoding];
NSLog(@"%@", jsonString);
и врезался в
* Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '* +[NSJSONSerialization dataWithJSONObject:options:error:]: Invalid top-level type in JSON write'
Катастрофа происходит потому, что он не имеет верхнего уровня Dict, Помещенный в словаре это solved.But как получить это от JSON этого объекта?
Ввод и вывод задается в вопросе. Пожалуйста, см. Qn –
. Ой, извините. .. .. исправит. .. Посмотрите qn nw –
Во-первых, вы *** УВЕРЕННО *** вы действительно хотите, чтобы JSON в этом формате? Это «внутренний JSON» формат, который иногда используется, но также можно путать (из-за различных странностей отладочной печати), полагая, что символы '\\' должны быть там, когда они этого не делают. –