Otrzymuję odpowiedź JSON i chciałbym ją dodać do bazy danych SQLite. Wyniki wracają jako tablica, aw każdej tablicy będzie około 30 kluczy z wartościami. Jakie byłoby najskuteczniejsze podejście do dodania ich wszystkich do mojego stołu? Klucze pochodzące z JSON to kolumny w bazie danych sqlite.
Czy najlepiej byłoby wykonać pętlę for na każdym elemencie tablicy, a następnie kolejną pętlę for, aby pobrać wartości i dodać je do ciągu, a następnie dodać je w ten sposób do bazy danych? A może istnieje lepsze podejście do korzystania z FMDB w celu dodania odpowiedzi JSON bezpośrednio do bazy danych, jeśli klucze json pasują do kolumn tabeli bazy danych?
2 odpowiedzi
Skończyło się na tym, że zrobiłem pętlę i otrzymałem klucze json i użyłem ich jako kolumn.
Jeśli uważasz, że twoja odpowiedź JSON się nie zmieni, a twój model danych się nie zmieni (lub rzadko się zmieni), to po prostu przejdę przez tablice i napiszę nieco długi...
[db executeUpdate:@"INSERT INTO response (key1,key2,..key30) VALUES (?,?,?...etc);", json_reponse.value1,json_response.value2,...,json_response.value30, nil];
Jeśli jednak ten model miałby się zmienić, rozbudować itp... to prawdopodobnie po prostu skorzystałbym z Core Data.
Największym czynnikiem jest jednak to, co robisz z danymi po ich zapisaniu? Tworzysz obiekty, wyświetlasz raport, konwertujesz obiekty z powrotem do JSON (a potem po prostu przechowujesz surowy JSON w polu tekstowym)?
Podobne pytania
Nowe pytania
objective-c
Tego znacznika należy używać tylko w przypadku pytań dotyczących funkcji Objective-C lub zależnych od kodu w języku. Tagi [cocoa] i [cocoa-touch] powinny być używane, aby zapytać o ramy lub klasy Apple. Użyj powiązanych tagów [ios], [macos], [apple-watch] i [tvos] w przypadku problemów specyficznych dla tych platform.