欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c 正則表達式獲取json指定字段的值

錢良釵1年前6瀏覽0評論

在 C 語言中,可以使用正則表達式獲取 JSON 格式的特定字段值。以下是實現該功能的代碼示例:

#include <stdio.h>
#include <regex.h>
int get_json_value(const char *json_str, const char *key, char *value)
{
regex_t reg;
regmatch_t matches[2];
char pattern[50];
sprintf(pattern, "\"%s\":\"([^\"]+)\"", key);
if (regcomp(®, pattern, REG_EXTENDED|REG_NEWLINE) != 0) {
return -1;
}
if (regexec(®, json_str, 2, matches, 0) == 0) {
int len = matches[1].rm_eo - matches[1].rm_so;
strncpy(value, json_str + matches[1].rm_so, len);
value[len] = '\0';
regfree(®);
return 0;
}
regfree(®);
return -1;
}
int main() {
char json_str[] = "{\"id\":\"123\",\"name\":\"John Doe\",\"age\":30}";
char name[50];
if (get_json_value(json_str, "name", name) == 0) {
printf("Name is %s\n", name);
}
return 0;
}

該函數使用了 regex.h 庫的正則表達式功能,在 JSON 格式的字符串中匹配指定的字段,并返回其值。

函數參數說明:

  • json_str:JSON 格式的字符串
  • key:要匹配的字段名
  • value:字段值輸出緩沖區

函數返回值說明:

  • 0:成功獲取字段值,并存儲在 value 中
  • -1:匹配失敗或出錯

示例中使用的是靜態的 JSON 字符串,在實際開發中應該從網絡或文件中讀取 JSON 數據,并動態提取所需字段。