c json字符串提取是指從一個json格式的字符串中提取出特定的信息的過程。在c語言中,我們可以使用json-c庫來實現(xiàn)json字符串的解析和提取。
首先,我們需要引入json-c庫。在Ubuntu中,我們可以通過以下命令安裝:
sudo apt-get install libjson-c-dev
接下來,我們需要創(chuàng)建一個json對象,并將json字符串解析到該對象中。示例代碼如下:
#include <stdio.h> #include <json-c/json.h> void parse_json(char *json_str) { struct json_object *obj = json_tokener_parse(json_str); printf("name: %s\n", json_object_get_string(json_object_object_get(obj, "name"))); printf("age: %d\n", json_object_get_int(json_object_object_get(obj, "age"))); } int main() { char *json_str = "{\"name\":\"Tom\", \"age\": 18}"; parse_json(json_str); return 0; }
在上述代碼中,我們首先定義了一個parse_json函數(shù),該函數(shù)接受一個json字符串作為輸入。在函數(shù)中,我們通過json_tokener_parse函數(shù)將該字符串解析為一個json對象。接著,我們使用json_object_object_get函數(shù)從該對象中提取出名字為"name"和"age"的屬性,并使用json_object_get_string和json_object_get_int函數(shù)分別獲取它們的值。
最后,我們在main函數(shù)中定義了一個json字符串,并將其作為參數(shù)傳遞給parse_json函數(shù)進行測試。運行結(jié)果如下:
name: Tom age: 18
可以看到,我們成功地從json字符串中提取出了我們需要的信息。