【问题标题】:How To save A JSON string to One Field Of Sqlite in iOS?如何将 JSON 字符串保存到 iOS 中的一个 Sqlite 字段?
【发布时间】:2012-11-28 17:19:04
【问题描述】:

您好,我有一些 JSON 格式的数据,如下所示:

`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];

但它没有插入任何东西。如果我通过 SQlitemanager 手动插入,那么我会收到错误,例如“Key1 ......

如果有人可以通过向我展示如何做到这一点来帮助我,我将不胜感激。

【问题讨论】:

    标签: iphone ios xcode json sqlite


    【解决方案1】:

    您的插值字符串如下所示:

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

    你需要 exacpe 字符串中的 " 因为它会混淆你的 rdbms。

    不妨试试

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

    然而,真正的解决方案是在应用程序中使用准备好的语句而不是 SQL 字符串。当您使用准备好的语句时,这不是问题。

    【讨论】:

    • 是的,您的解决方案非常有效,非常感谢
    • 你的方法正常工作,但你有这样的字符串怎么办:"Value's 48"
    • 然后使用退格替换 ' ... "Value\'s 48"
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-28
    • 2021-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多