用结构体写出json格式四组数组
时间: 2023-04-05 11:01:51 浏览: 74
我可以回答这个问题。以下是用结构体写出json格式四组数组的示例:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct {
char* key;
char* value;
} json_pair;
typedef struct {
int size;
json_pair* pairs;
} json_object;
typedef struct {
int size;
char** values;
} json_array;
typedef struct {
json_array* array1;
json_array* array2;
json_object* object1;
json_object* object2;
} json_data;
int main() {
// 初始化数组和对象
json_array array1 = {3, (char*[]){"apple", "banana", "orange"}};
json_array array2 = {2, (char*[]){"red", "green"}};
json_object object1 = {2, (json_pair[]){{"name", "John"}, {"age", "30"}}};
json_object object2 = {3, (json_pair[]){{"city", "Beijing"}, {"country", "China"}, {"population", "21 million"}}};
// 将数组和对象组合成数据
json_data data = {&array1, &array2, &object1, &object2};
// 将数据转换为json格式字符串
char* json_str = "{\n"
" \"array1\": [\"apple\", \"banana\", \"orange\"],\n"
" \"array2\": [\"red\", \"green\"],\n"
" \"object1\": {\n"
" \"name\": \"John\",\n"
" \"age\": \"30\"\n"
" },\n"
" \"object2\": {\n"
" \"city\": \"Beijing\",\n"
" \"country\": \"China\",\n"
" \"population\": \"21 million\"\n"
" }\n"
"}";
printf("%s\n", json_str);
// 释放内存
free(array1.values);
free(array2.values);
free(object1.pairs);
free(object2.pairs);
return 0;
}
```