C中的JSON庫允許您將數(shù)據(jù)附加到數(shù)組中,這可以使用push函數(shù)來完成。
/* 假設(shè)有一個(gè)名為root的JSON對(duì)象,其"people"字段是一個(gè)數(shù)組 */
json_t *root, *people;
/* 現(xiàn)在,我們要為people數(shù)組中添加一個(gè)新的人 */
json_t *new_person = json_object();
json_object_set(new_person, "name", json_string("John"));
json_object_set(new_person, "age", json_integer(30));
/* 現(xiàn)在將新人加入到數(shù)組中 */
people = json_object_get(root, "people");
json_array_append_new(people, new_person);
如上所示,我們首先創(chuàng)建了一個(gè)包含新人信息的JSON對(duì)象new_person
。然后,我們使用json_object_set
函數(shù)為其添加屬性"名字"和"年齡"。
接下來,我們使用json_object_get
函數(shù)獲取root對(duì)象中的people數(shù)組。然后,我們使用json_array_append_new
函數(shù)將新人對(duì)象附加到數(shù)組中。
有時(shí)候,您可能需要將多個(gè)元素附加到數(shù)組中。這可以使用json_array_append
函數(shù)完成。
int i;
for (i = 0; i < num_people; i++) {
json_t *person = json_object();
json_object_set(person, "name", json_string("John"));
json_object_set(person, "age", json_integer(30));
json_array_append(people, person);
}
如上所示,我們使用一個(gè)循環(huán)來創(chuàng)建多個(gè)人物對(duì)象。然后,我們使用json_array_append
函數(shù)將每個(gè)人物對(duì)象附加到數(shù)組中。
總之,使用json_array_append
和json_object_set
函數(shù)很容易在C中將數(shù)據(jù)附加到JSON數(shù)組中。就像使用push一樣簡單,這可以使您的代碼更容易閱讀和管理。