我想做类似的事情:
const int DEFAULT_INTDATA = 0;
const char DEFAULT_STRDATA[] = "default";
typedef struct
{
int intdata;
char * strdata;
} DATA;
DATA data;
data.intdata = DEFAULT_INTDATA;
data.strdata = DEFAULT_STRDATA;
// output JSON string of "data".
printf("%s", JSONstringify(data));
答案 0 :(得分:3)
不是一般的。标准C没有在运行时获取数据字段的名称和类型所需的反射功能。
你当然可以为某个结构编写一个JSON序列化程序,但不能为任何一个结构编写,并将它转换为JSON。