C語言提供了許多可以修改JSON的庫,比如cJSON和Jansson。下面我們來看一下如何使用cJSON庫來修改JSON。
首先,需要先在代碼中包含cJSON頭文件。
#include "cJSON.h"
接著,我們需要讀取JSON文件并將其解析為cJSON對象。可以使用cJSON_Parse函數來完成解析。
char* json_data = '{ "name": "james", "age": 20 }'; cJSON* root = cJSON_Parse(json_data);
在得到cJSON對象之后,我們可以通過修改對象的value屬性來修改JSON。比如,我們想將JSON中的age屬性的值增加10:
cJSON* age = cJSON_GetObjectItem(root, "age"); age->valueint += 10;
最后,在完成所有的修改之后,我們需要將cJSON對象序列化為JSON字符串。可以使用cJSON_Print函數來完成序列化。
char* json_out = cJSON_Print(root);
完整的代碼如下:
#include "cJSON.h" void modify_json(char* json_data) { // 解析JSON字符串為cJSON對象 cJSON* root = cJSON_Parse(json_data); // 修改age屬性的值 cJSON* age = cJSON_GetObjectItem(root, "age"); age->valueint += 10; // 序列化cJSON對象為JSON字符串 char* json_out = cJSON_Print(root); // 打印輸出結果 printf("%s\n", json_out); // 釋放內存 free(json_out); cJSON_Delete(root); } int main() { char* json_data = '{ "name": "james", "age": 20 }'; modify_json(json_data); return 0; }