在 iphone 上为 sqlite 将 json 转换为 const char

Posted

技术标签:

【中文标题】在 iphone 上为 sqlite 将 json 转换为 const char【英文标题】:convert json to const char on iphone for sqlite 【发布时间】:2012-09-03 17:43:27 【问题描述】:

我在存储我正在下载的一些 json 数据时遇到问题。我认为的问题是从字符串到 json 再到 const char 的转换。也可能有更好的方法来做到这一点。这就是我所拥有的

 NSDictionary *jsonAll = [[(NSString *)response uppercaseString] JSONValue];
//Get the objects within the seat number object


NSDictionary *seatInfo = [jsonAll objectForKey:seatMessage];

//Split the objects up accoridng to the track information -- we will have to structure  
//we havethe maeesge with how ever many track

NSMutableString *Track1 = [seatInfo objectForKey:@"TRACK1'];
NSMutableString *Track2 = [seatInfo objectForKey:@"TRACK2"];

我带进来的json文件是这样的

A1 =     
    TRACK1 =         (
        1462527,
        1462527,
        1462527,
        1462527,
        1462527,
        1462527,
        1462527,
        1462527,
        1462527,
        1462527,
        1462527
    );
    TRACK2 =         (
        12800016,
        12800016,
        12800016,
        12800016,
        12800016,
        1462527,
        12800016,
        12800016,
        12800016,
        12800016,
        12800016
    );
;

我认为问题在于新线路。据我所知,当我尝试将数据存储在 sql 中时,我必须将其转换为 const char。

有人知道怎么做吗?

谢谢

【问题讨论】:

您显然没有阅读上一个查询中的 cmets -- [seatInfo objectForKey:@"TRACK1'] 返回一个 NSArray,而不是 NSMutableString。 Splitting Json objects and array ios in sql 的可能重复项 NSarray 给了我同样的错误。我得到了正确的信息并将其拆分。但现在的问题是我正在尝试将该字符串或数组更改为 char 以将其存储到 sql 尝试阅读 NSString 的规范。并在网上搜索一些其他人如何从 Objective-C 执行 SQLite 操作的示例。 顺便说一句: NSArray 中的内容将是一堆 NSNumber 对象,然后您必须将其转换为整数。您必须决定如何将整数写入 SQLite——作为单个项目、字符串中的列表、blob 或什么? 【参考方案1】:
 NSDictionary *jsonAll = [[(NSString *)response uppercaseString] JSONValue];

//获取座位号对象内的对象

NSDictionary *seatInfo = [jsonAll objectForKey:seatMessage];

//根据轨迹信息拆分对象——我们将不得不构造 //我们有多少轨道的maeesge

NSArray *Track1 = [seatInfo objectForKey:@"TRACK1'];

for(id str in Track1)

   //save the strings in database   

【讨论】:

以上是关于在 iphone 上为 sqlite 将 json 转换为 const char的主要内容,如果未能解决你的问题,请参考以下文章

在 Android 上为 SQLite 使用 AUTOINCREMENT 的开销是啥?

使用 sqlite 数据库的 iPhone 4 应用程序

如何在 Apache 2.4 (Windows 7) 上为 PHP 5.6.14 配置 SQLite3?

在 SQLite xp 系统上为奖励积分添加冷却时间

您如何在 iPhone 上为 PayPal 的电话 SDK 保护您的 PayPal 应用程序 ID?

在 iOS 的不同设备上为同一个项目使用不同的文件?