Chcę skonfigurować statyczne dane pozorne w JSON, aby moja aplikacja była przetwarzana. To jest czysto po stronie klienta; Nie chcę niczego pobierać z sieci.Jak utworzyć obojętne dane JSON na kliencie w obiektywnym C/iOS?
Wszystkie pytania i odpowiedzi, które dotychczas widziałem, mają zmienne NSData * przechowujące dane pobrane z połączeń sieciowych i [JSONSerialization JSONObjectWithData: ...] zwykle działające na danych, które nie zostały utworzone ręcznie.
Oto przykład tego, co próbowałem w ramach xcode.
NSString* jsonData = @" \"things\": [{ \
\"id\": \"someIdentifier12345\", \
\"name\": \"Danny\" \
\"questions\": [ \
{ \
\"id\": \"questionId1\", \
\"name\": \"Creating dummy JSON data by hand.\" \
}, \
{ \
\"id\": \"questionId2\", \
\"name\": \"Why no workie?\"
} \
], \
\"websiteWithCoolPeople\": \"http://stackoverflow.com\", \
}]}";
NSError *error;
NSDictionary *parsedJsonData = [NSJSONSerialization JSONObjectWithData:jsonData options:kNilOptions error:&error];
Próby takie jak to (i stara się zmienić ten stan rzeczy, jak przełączanie NSString * do NSData * z tego ciąg JSON) przyniosły NULL danych parsedJsonData lub wyjątki podczas próby utworzenia że JSON zmienna danych lub podczas próby przeanalizuj to.
Jak utworzyć fałszywe dane JSON w moim własnym kodzie tak, aby można je było analizować za pomocą normalnych klas Foundation, które analizują dane JSON?
Nie wierzę, że JSON może zacząć od ciągu. Spróbuj dodać '{' na początek przed '" rzeczy "'. Następnie weź ciąg znaków i użyj metody '[jsonData dataUsingEncoding: NSUTF8StringEncoding]', ponieważ 'NSJSONSerialization' pobiera tylko dane, a nie ciąg znaków :) – bgoers
Dzięki. Próbowałem już tej trasy wcześniej, ale wyszło na jaw, że mogłem źle sformułować JSON, dlatego nie mogę wydawać danych ręcznie. Chcesz napisać mały przykład tego, jak powinien wyglądać JSON, gdy próbuję nowego JSON? Jeśli to działa, oznaczę twoją odpowiedź jako odpowiedź, ponieważ ludzie próbujący to zrobić mogą bardzo źle wpłynąć na JSON jako na problem. – Danny
Kiedy muszę to zrobić, mam plik tekstowy zawierający json w pakiecie aplikacji zamiast kodu NSString w kodzie. Myślę, że łatwiej jest zamienić na produkcyjne adresy URL i łatwiej też będzie je formatować. –