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?

1
Bot 21 luty 2012, 22:44

2 odpowiedzi

Najlepsza odpowiedź

Skończyło się na tym, że zrobiłem pętlę i otrzymałem klucze json i użyłem ich jako kolumn.

0
Bot 24 luty 2012, 21:33

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)?

1
Jer In Chicago 21 luty 2012, 23:11