C語言是一種強大的編程語言,它可以實現很多功能。在處理數據時,JSON往往是一種常見的數據格式。將對象轉換成JSON字符串數組是一個常見的操作,本文將介紹如何在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結構體,并將其轉換為JSON字符串數組。personToJSON()函數將Person對象轉換為JSON格式的字符串。
使用printJSON()函數將JSON字符串數組輸出到控制臺。
在main()函數中,我們定義了一個Person類型的數組,該數組包含三個人。我們使用personToJSON()函數將每個Person對象轉換為JSON字符串,并使用printJSON()函數將其打印出來。最后,在JSON字符串數組的結尾處輸出一個閉合的方括號。
該代碼僅適用于Person對象的屬性為整數和字符串的情況。如果屬性是其他類型,例如浮點數,則需要進行適當的更改才能將其轉換為JSON格式的字符串。