jestem generowania tekstu json i podczas generowania tablicę dostaję wiele ukośniki nie muszę:Usuń odwrotny ukośnik („”) w Objective-C
[\n
{\n
\"Speed\" : 2,\n
\"Direction\" : 3,\n
\"OdometerDelta\" : 4,\n
\"Longitude\" : 0,\n
\"Latitude\" : 1,\n
\"TimeStamp\" : \"1996-06-17\"\n
},\n
{\n
\"Speed\" : 2,\n
\"Direction\" : 3,\n
\"OdometerDelta\" : 4,\n
\"Longitude\" : 0,\n
\"Latitude\" : 1,\n
\"TimeStamp\" : \"1996-06-17\"\n },\n
{\n
\"Speed\" : 2,\n
\"Direction\" : 3,\n
\"OdometerDelta\" : 4,\n
\"Longitude\" : 0,\n
\"Latitude\" : 1,\n
\"TimeStamp\" : \"1996-06-17\"\n
}\n
]
ten sposób mogę uzyskać wygenerowany json NSString tekst:
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:arr options:NSJSONWritingPrettyPrinted error:&error];
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
Oto część, gdzie robi się ciekawie, jeśli mogę użyć
jsonString = [jsonString stringByReplacingOccurrencesOfString:@"\n" withString:@""];
wszystkie "\ n" jest usuwany (backsla sh jest również usuwany), ale jeśli używam
jsonString = [jsonString stringByReplacingOccurrencesOfString:@"\\" withString:@""];
wszystkie ukośniki odwrotne nadal tam są. Jestem całkiem nowy w kwestii obiektywizmu-c, więc nie mogę nawet pomyśleć o możliwym sposobie, dlaczego tak się dzieje, próbowałem na kilka sposobów, i żaden z nich nie działał. Mój strzał w ciemno jest taki, że problem jest spowodowany kodowaniem, ale mogę się mylić.
Oto jak produkować mój plik json:
for(int i = 0; i < 3; i++)
{
NSDictionary *jsonDictionary = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithDouble:0.0], @"Longitude",
[NSNumber numberWithDouble:1.0], @"Latitude",
@"1996-06-17", @"TimeStamp",
[NSNumber numberWithDouble:2.0], @"Speed",
[NSNumber numberWithDouble:3.0], @"Direction",
[NSNumber numberWithDouble:4.0], @"OdometerDelta",
nil];
[arr addObject:jsonDictionary];
}
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:arr options:NSJSONWritingPrettyPrinted error:&error];
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
Z góry dzięki.
Ważne jest, aby wiedzieć, co spowodowało wydruk wyjściowy JSON. Na przykład może to być coś, co dodaje dla ciebie ucieczkę, aby nowe linie były widoczne. Więc proszę podać, w jaki sposób otrzymałeś dane wyjściowe. – trojanfoe
Twoim problemem jest to, że najwyraźniej "serializowałeś" JSON dwukrotnie. Napraw to, zamiast próbować un-muddle rzeczy po czyn. –
@trojanfoe Właśnie dodałem kod, jak produkuję mój JSON. – MisterMortal