Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.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 json字段中键值的核心数据_Ios_Regex_Core Data - Fatal编程技术网

Ios json字段中键值的核心数据

Ios json字段中键值的核心数据,ios,regex,core-data,Ios,Regex,Core Data,在我的应用程序中,我需要查询核心数据,我有一个表,其中包含一个存储json字符串的字段。现在我需要在这个表中查询在这个字段中有特定键值对的任何条目。我已经尝试用一个类似的表达式来解决这个问题,但是由于通配符与换行符匹配,所以进行得并不顺利。现在我一直在弄清楚我必须使用哪个正则表达式来进行匹配操作 键和值的子字符串是已知的,我只需要找到包含它们的条目,没有其他内容。:)您可以向该实体写入getter属性,它只返回一个普通字符串,而不是json字符串,如: - (NSString *)stringR

在我的应用程序中,我需要查询核心数据,我有一个表,其中包含一个存储json字符串的字段。现在我需要在这个表中查询在这个字段中有特定键值对的任何条目。我已经尝试用一个类似的表达式来解决这个问题,但是由于通配符与换行符匹配,所以进行得并不顺利。现在我一直在弄清楚我必须使用哪个正则表达式来进行匹配操作


键和值的子字符串是已知的,我只需要找到包含它们的条目,没有其他内容。:)

您可以向该实体写入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++;
    }

}