Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何处理下面的模式,我的要求是拆分查询,然后将查询集成到与数据库相关的代码中?我该怎么办?_Ios_Objective C_Iphone_Sqlite_Xcode6 - Fatal编程技术网

Ios 如何处理下面的模式,我的要求是拆分查询,然后将查询集成到与数据库相关的代码中?我该怎么办?

Ios 如何处理下面的模式,我的要求是拆分查询,然后将查询集成到与数据库相关的代码中?我该怎么办?,ios,objective-c,iphone,sqlite,xcode6,Ios,Objective C,Iphone,Sqlite,Xcode6,我从服务器获取这个字符串,然后我必须拆分这些查询并实现到本地DB代码,所以我该怎么做(像拆分和转换一样处理这个字符串) sql://query=CREATE%20TABLE%20employee%20(empid%20INT%2C%20empname%20TEXT%2C%20age%20INT%2C%20gender%20TEXT%2C%20sync%20INT)&sync=1&syncquery=从%20员工%20中选择%20*%20其中%20同步%3E0%20限制%2010&onadded=

我从服务器获取这个字符串,然后我必须拆分这些查询并实现到本地DB代码,所以我该怎么做(像拆分和转换一样处理这个字符串)

sql://query=CREATE%20TABLE%20employee%20(empid%20INT%2C%20empname%20TEXT%2C%20age%20INT%2C%20gender%20TEXT%2C%20sync%20INT)&sync=1&syncquery=从%20员工%20中选择%20*%20其中%20同步%3E0%20限制%2010&onadded=更新%20员工%20设置%20同步%3D0%20其中%20empid%3D%27%25empid%25%27和onmodified=更新%20employee%20set%20sync%3D0%20其中%20empid%3D%27%25empid%25%27和ondeleted=从%20employee%20中删除%20其中%20empid%3D%27%25%27和syncfrequency=300“

在这里我用下面的代码完成了解码过程

NSString *decodedText = [query stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSLog(@"Original text: %@", decodedText);`
但是我想使用键(query,sync,sync query…)拆分所有查询,我该怎么做


请帮助我

您的字符串表示一个查询,而不是一个实体。将其转换为JSON毫无意义(除非您希望以非SQL方式将解析器SQL构建为JSON)


您需要如何处理查询本身?直接在本地数据库上执行查询或将其打印给用户?

sql查询到json???请查看您的问题标题;)并使正文更易于理解;)请清理您的代码。请给我们举个例子,说明您如何想象json中的sql表示。
NSString *query=[NSString stringWithFormat:@"%s","query=CREATE%20TABLE%20employee%20(empid%20INT%2C%20empname%20TEXT%2C%20age%20INT%2C%20gender%20TEXT%2C%20sync%20INT)&sync=1&syncquery=select%20*%20from%20employee%20where%20sync%3E0%20limit%2010&onadded=update%20employee%20set%20sync%3D0%20where%20empid%3D%27%25empid%25%27&onmodified=update%20employee%20set%20sync%3D0%20where%20empid%3D%27%25empid%25%27&ondeleted=delete%20from%20employee%20where%20empid%3D%27%25empid%25%27&syncfrequency=300"];

NSString *decodedText = [query stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSArray *firstSplit = [decodedText componentsSeparatedByString:@"&"];

for(NSString *currentString in firstSplit) {

    NSDictionary *dict = [[NSMutableDictionary alloc] init];
    [dict setValue:[[currentString componentsSeparatedByString:@"query="] lastObject] forKey:@"query"];
    [dict setValue:[[currentString componentsSeparatedByString:@"sync="] lastObject] forKey:@"sync"];
    [dict setValue:[[currentString componentsSeparatedByString:@"syncquery="] lastObject]forKey:@"syncquery"];
    [dict setValue:[[currentString componentsSeparatedByString:@"onadded="] lastObject] forKey:@"onadded"];
    [dict setValue:[[currentString componentsSeparatedByString:@"ondeleted="] lastObject] forKey:@"ondeleted"];
    [dict setValue:[[currentString componentsSeparatedByString:@"syncfrequency="] lastObject] forKey:@"syncfrequency"];

    NSLog(@"%@",dict);
}