мне удалось сохранить некоторые JSON на поле в моей базе данных SQLite, длина текста (в SQLite документации Тереза нет ограничений на размер текстового поля) поля 1337.Как вернуть JSON из текстового поля Sqlite?
Я даже пытался varchar, но снова мое приложение вылетает с SGABRT. Я не получаю никаких других подробностей об ошибках.
Посмотрев на запись в утилите sqlite, данные полные и мелкие, и мой запрос, показанный ниже, работает.
Я даже заменил, почему запрос и код действительно работают с записью в другой таблице.
Я знаю, что должен использовать Core Data, но это существующее приложение, и я не могу его преобразовать в это время.
Не уверен, как это сделать?
NSString *ret = @"";
const char *sql = "select value from MyTable where item = 'json'";
sqlite3 *database;
int result = sqlite3_open(... db path function ...], &database);
... snip in not db and error code ...
sqlite3_stmt *statementTMP;
sqlite3_prepare_v2(database, sql, -1, &statementTMP, NULL);
if (sqlite3_step(statementTMP) == SQLITE_ROW) {
ret = [[NSString alloc] initWithUTF8String:
(char *)sqlite3_column_text(statementTMP, 1)]; << Fails here
}
sqlite3_finalize(statementTMP);
sqlite3_close(database);
EDIT
Начало моих данных JSON
{"lowestday":"31","pfAppAdvAcSel":-1,"styleselec
Далее EDIT
char *test = (char *)sqlite3_column_text(statementTMP, 1);
NSLog(@"value = %s", test); << (NULL)
Можете ли вы показать нам пример некоторых из JSON? –
Несомненно, см. Выше. – Jules
Возвращает значение char *. Первый тест, чтобы узнать, является ли он нулевым (скорее всего). Если значение не равно null, напечатайте значение с помощью% s перед преобразованием в NSString. –