2012-11-28 61 views
1

您好我有一個像下面JSON格式的一些數據:如何將JSON字符串保存到iOS中的一個字段?

`contentJson=`[{"key1":"Value1","key2":"Value2","key3":"Value3","key4":"Value4","key5":"Value5","key6":"Value6","key7":"Value7", "key8":"Value8"},{"key1":"Value1","key2":"Value2","key3":"Value3","key4":"Value4","key5":"Value5","key6":"Value6","key7":"Value7", "key8":"Value8"}] 

我如何保存在SQLite數據庫的所有數據一個字段的問題?

我的代碼是

NSString *statement = [[NSString alloc]initWithFormat:@"INSERT INTO mydatabase(contentJson,ID) VALUES(\"%@\",%d)",contentJson,ID]; 

但它不是插入anything.If IM手動插入通過的SQLiteManager然後即時得到錯誤,如在「密鑰1錯誤......

我將高度讚賞如果有人可以幫助我通過展示我如何做到這一點

回答

3

你interporlated字符串應該是這樣的:

INSERT INTO mydatabase(contentJson,ID) VALUES(
"[{"key1":"Value1","key2":"Value2","key3":"Value3","key4":"Value4", 
"key5":"Value5","key6":"Value6","key7":"Value7", "key8":"Value8"}, 
{"key1":"Value1","key2":"Value2","key3":"Value3","key4":"Value4", 
"key5":"Value5","key6":"Value6","key7":"Value7", "key8":"Value8"}]", 
ID); 

您需要刪除「中的字符串,因爲它會令您的rdbms混淆。

也許嘗試

NSString *statement = [[NSString alloc]initWithFormat:@"INSERT INTO mydatabase(contentJson,ID) VALUES('%@',%d)",contentJson,ID]; 

真正的解決方案卻是使用預處理語句而不是SQL字符串在appliaction。當您使用準備好的語句時,這不是問題。

+0

是你的解決方案像一個魅力很多很多謝謝 – Debabrata

+0

你的方法通常工作,但你有什麼字符串像這樣:**「價值的48」**? –

+0

然後你使用退格替換爲'''...''Value''48''。 – gbtimmon

相關問題