Ios json字段中键值的核心数据
在我的应用程序中,我需要查询核心数据,我有一个表,其中包含一个存储json字符串的字段。现在我需要在这个表中查询在这个字段中有特定键值对的任何条目。我已经尝试用一个类似的表达式来解决这个问题,但是由于通配符与换行符匹配,所以进行得并不顺利。现在我一直在弄清楚我必须使用哪个正则表达式来进行匹配操作Ios json字段中键值的核心数据,ios,regex,core-data,Ios,Regex,Core Data,在我的应用程序中,我需要查询核心数据,我有一个表,其中包含一个存储json字符串的字段。现在我需要在这个表中查询在这个字段中有特定键值对的任何条目。我已经尝试用一个类似的表达式来解决这个问题,但是由于通配符与换行符匹配,所以进行得并不顺利。现在我一直在弄清楚我必须使用哪个正则表达式来进行匹配操作 键和值的子字符串是已知的,我只需要找到包含它们的条目,没有其他内容。:)您可以向该实体写入getter属性,它只返回一个普通字符串,而不是json字符串,如: - (NSString *)stringR
键和值的子字符串是已知的,我只需要找到包含它们的条目,没有其他内容。:)您可以向该实体写入getter属性,它只返回一个普通字符串,而不是json字符串,如:
- (NSString *)stringRepresentation
{
NSError *error = nil;
NSData* data=[self.jsonStringProperty dataUsingEncoding:NSUTF8StringEncoding];
NSString *string = [JSONObjectWithData:data options:0 error:&error];
if (error) {
... // error handling
}
return string;
}
然后,您可以对该属性使用类似表达式的查询使用regex解决它:
for(NSString* value in values)
{
if(value.length > 0)
{
if(i > 0)
{
[query appendString:@" OR "];
}
[query appendFormat:@" (json_data MATCHES[c] '.*?\"%@\\\":\\\"([^\"]*)%@([^\"]*)\".*?')",key,value];
i++;
}
}