2012-08-27 14 views
5

mam pewne wartości String jak tego formatu,Jak przekonwertować NSString jako format JSON w ios5?

[INFO] [Tue Aug 21 14:54:22 2012] [ViewController] [26] [Hello] [;] 

chcę przekonwertować te ciągi do JSON za pomocą NSJSONSerialization.

Używam następujący kod do konwersji ciągów,

for (i = 0; i < [logArray count]; i++) 
{ 
    individualLogInfoArray = [[logArray objectAtIndex:i] componentsSeparatedByString:kDelimitterSpace]; 
    [dictionaryArray addObject:individualLogInfoArray]; 

} 

finalLogDictionary = [NSMutableDictionary dictionaryWithObjectsAndKeys:dictionaryArray,@"Log", nil]; 
    NSError *error; 
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:finalLogDictionary 
                options:NSJSONWritingPrettyPrinted 
                error:&error]; 

NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; 
NSLog(@"JsonString = %@",jsonString); 

Potem coraz wyjście tak,

JsonString = { 
    "Log" : [ 
    "[INFO] [Tue Aug 21 14:54:22 2012] [ViewController] [26] [Hello] [;]", 
    "[DEBUG] [Tue Aug 21 14:54:22 2012] [ViewController] [27] [hi] [;]", 
    "[INFO] [Tue Aug 21 14:54:22 2012] [ViewController] [28] [Its there] [;]", 
    "[PROD] [Tue Aug 21 14:54:22 2012] [ViewController] [29] [Welcome] [;]" 
    ] 
} 

ale chcę wyjście takiego,

{ 
"log": "[INFO] [Tue Aug 21 14:54:22 2012] [ViewController] [26] [Hello],[INFO] [Tue Aug 21 14:54:22 2012] [ViewController] [26] [Hello],[INFO] [Tue Aug 21 14:54:22 2012] [ViewController] [26] [Hello]" 

}

Nie wiem, jak wygenerować ciąg JSON w powyższym formacie, zaproponuj rozwiązanie.

Odpowiedz

4

Ciąg, który otrzymujesz, jest prawidłowy JSON, podczas gdy łańcuch, który chcesz, nie jest. W związku z tym nie będzie można używać biblioteki JSON iOS do generowania nieprawidłowego JSON.

Można sprawdzić ważność za pomocą tego narzędzia internetowego,

JSONLint

nadzieję, że pomoże.

AKTUALIZACJA: Pytanie zostało skorygowane, aby pokazać prawidłowy JSON jako wymagany wynik.

+0

Dziękuję za odpowiedź –

+0

dzięki za informacje. to jest poprawna json, nie wiem jak wygenerować jsonString –

+0

spróbuj sam. – Ben10

0

Zmienione pytanie dotyczy manipulacji obiektami NSDictionary, NSString i NSArray w celu uzyskania pożądanego formatu przed serializowaniem go jako JSON.

trzeba manipulować oryginalnych danych do słownika, zawierającego parę klucz/wartość,

dziennika:

... a potem serialise że jako JSON.

W pętli, w której dodajesz obiekty dla każdego elementu logArray, możesz zamiast tego dodać ciąg z wymaganym formatem.

Powiązane problemy