Mam dictionary
muszę wygenerować JSON string
za pomocą dictionary
. Czy można to przekonwertować? Czy możecie w tym pomóc?
ios
objective-c
json
string
ChandraSekhar
źródło
źródło
Odpowiedzi:
Oto kategorie dla NSArray i NSDictionary, aby uczynić to bardzo łatwym. Dodałem opcję ładnego wydruku (nowe wiersze i karty, aby ułatwić czytanie).
.
.
.
źródło
NSUTF8StringEncoding
jest to prawidłowe kodowanie?NSNumber
,NSString
iNSNull
- znajdzie się w minutę lub dwie!Apple dodał parser i serializator JSON w iOS 5.0 i Mac OS X 10.7. Zobacz NSJSONSerialization .
Aby wygenerować ciąg JSON z NSDictionary lub NSArray, nie trzeba już importować żadnych frameworków.
Oto jak to zrobić:
źródło
NSArray
iNSDictionary
znacznie ułatwi jej ponowne użycie.[NSJSONSerialization JSONObjectWithData:options:error:]
zwraca cel Fundacji na podstawie danych JSONAby przekonwertować NSDictionary na NSString:
źródło
UWAGA: Ta odpowiedź została udzielona przed wydaniem iOS 5.
Pobierz framework json i zrób to:
myDictionary
będzie twoim słownikiem.źródło
Możesz to zrobić również w locie, wprowadzając następujące informacje do debuggera
źródło
error: use of undeclared identifier 'NSUTF8StringEncoding'
Możesz przekazać tablicę lub słownik. Tutaj biorę NSMutableDictionary.
Aby wygenerować ciąg JSON z NSDictionary lub NSArray, nie musisz importować żadnych frameworków. Wystarczy użyć następującego kodu: -
źródło
źródło
+[NSJSONSerialization dataWithJSONObject:options:error:]: Invalid top-level type in JSON write'
błąd. Korzystanie z XCode 9.0W Swift (wersja 2.0) :
źródło
Teraz nie ma potrzeby, aby klasy stron trzecich ios 5 wprowadził Nsjsonserialization
ten kod może być przydatny do uzyskania jsondata.
źródło
NSJSONReadingMutableLeaves | NSJSONReadingMutableContainers
.W Swift stworzyłem następującą funkcję pomocniczą:
źródło
Od wersji ISO7 możesz to łatwo zrobić za pomocą NSJSONSerialization .
źródło
Oto wersja Swift 4
}
Przykład użycia
Lub jeśli masz pewność, że jest to poprawny słownik, możesz go użyć
źródło
Będzie to działać w swift4 i swift5.
źródło
Ten jest bardzo zbliżony do oryginalnego stylu drukowania Objective-C
źródło