在C語(yǔ)言中,我們可以使用json-c庫(kù)來(lái)進(jìn)行json類型的處理,而在類里面定義json的過(guò)程十分簡(jiǎn)單。
#include <json-c/json.h> class Person { private: struct json_object *person_obj; public: Person() { person_obj = json_object_new_object(); } void addName(const char *name) { json_object_object_add(person_obj, "name", json_object_new_string(name)); } void addAge(int age) { json_object_object_add(person_obj, "age", json_object_new_int(age)); } void print() { printf("%s\n", json_object_to_json_string_ext(person_obj, JSON_C_TO_STRING_PRETTY)); } }; int main() { Person p; p.addName("張三"); p.addAge(20); p.print(); return 0; }
上面的代碼定義了一個(gè)Person類,包含了兩個(gè)屬性:name和age,以及一個(gè)print方法來(lái)輸出json字符串。
在類中,我們可以使用json-c庫(kù)中的函數(shù)來(lái)定義json對(duì)象,這里使用了json_object_new_object()來(lái)創(chuàng)建一個(gè)新的json對(duì)象,然后可以使用json_object_object_add()方法來(lái)添加屬性。
最后,我們可以調(diào)用json_object_to_json_string_ext()方法將json對(duì)象轉(zhuǎn)換為字符串,方便輸出。