在C語言中新增json數(shù)據(jù)節(jié)點,需要使用第三方庫。常見的有以下幾種:
1. cJSON
#include "cJSON.h" ... cJSON* root = cJSON_CreateObject(); cJSON_AddItemToObject(root, "name", cJSON_CreateString("Bob"));
2. jsmn
#include "jsmn.h" ... jsmn_parser parser; jsmntok_t tokens[128]; int num_tokens = jsmn_parse(&parser, json_str, strlen(json_str), tokens, sizeof(tokens)/sizeof(tokens[0]));
3. YAJL
#include "yajl_parser.h" ... yajl_gen g = yajl_gen_alloc(NULL); yajl_gen_map_open(g); yajl_gen_string(g, (unsigned char*)"name", strlen("name")); yajl_gen_string(g, (unsigned char*)"Bob", strlen("Bob")); yajl_gen_map_close(g);
無論是哪種庫,都需要先創(chuàng)建一個根節(jié)點,然后使用相應的接口新增節(jié)點,例如cJSON_AddItemToObject函數(shù)將字符串節(jié)點添加到對象節(jié)點中。使用第三方庫可以大大簡化json數(shù)據(jù)的處理,讓我們能夠更加專注于業(yè)務邏輯的實現(xiàn)。