C語言是一種強大的編程語言,它可以實現(xiàn)很多功能。在處理數(shù)據(jù)時,JSON往往是一種常見的數(shù)據(jù)格式。將對象轉(zhuǎn)換成JSON字符串?dāng)?shù)組是一個常見的操作,本文將介紹如何在C語言中進行該操作。
#include <stdio.h> #include <string.h> #include <stdlib.h> #define SIZE 100 typedef struct { int id; char name[50]; } Person; void personToJSON(Person p, char str[]) { sprintf(str, "{ \"id\": %d, \"name\": \"%s\" }", p.id, p.name); } void printJSON(char str[], int length) { int i; for (i = 0; i < length; i++) { printf("%c", str[i]); } } int main() { Person people[SIZE] = { { 1, "Tom" }, { 2, "John" }, { 3, "Mary" } }; char json[SIZE]; printf("["); int i; for (i = 0; i < SIZE; i++) { personToJSON(people[i], json); printJSON(json, strlen(json)); if (i != SIZE - 1) { printf(", "); } } printf("]"); return 0; }
在上述代碼中,我們定義了一個Person結(jié)構(gòu)體,并將其轉(zhuǎn)換為JSON字符串?dāng)?shù)組。personToJSON()函數(shù)將Person對象轉(zhuǎn)換為JSON格式的字符串。
使用printJSON()函數(shù)將JSON字符串?dāng)?shù)組輸出到控制臺。
在main()函數(shù)中,我們定義了一個Person類型的數(shù)組,該數(shù)組包含三個人。我們使用personToJSON()函數(shù)將每個Person對象轉(zhuǎn)換為JSON字符串,并使用printJSON()函數(shù)將其打印出來。最后,在JSON字符串?dāng)?shù)組的結(jié)尾處輸出一個閉合的方括號。
該代碼僅適用于Person對象的屬性為整數(shù)和字符串的情況。如果屬性是其他類型,例如浮點數(shù),則需要進行適當(dāng)?shù)母牟拍軐⑵滢D(zhuǎn)換為JSON格式的字符串。