c - 是否可以将 C 结构 (struct) 序列化为 JSON 字符串 (char*)

标签 c json

<分区>

我想做这样的事情:

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));

最佳答案

不是一般的。标准 C 不具备在运行时获取数据字段的名称和类型所需的反射功能。

您当然可以为某个结构编写一个 JSON 序列化程序,但不是一个会接受任何和每个结构并将其转换为 JSON 或从 JSON 转换的序列化程序。

关于c - 是否可以将 C 结构 (struct) 序列化为 JSON 字符串 (char*),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12786777/

相关文章:

c - 将列表写入文件

c - OpenGL 纹理显示为实体对象?

c - Xcode调试窗口如何改变unicode字符串的显示格式?

c - 分配了一些内存后,我无法计算出我分配的内存的正确大小。我不知道为什么

json - compoundJS::如何创建模式来反射(reflect)半复杂的 JSON 对象?

javascript - 获取标记的精确地址 - Google Maps V3

arrays - 如何在 Swift 中使用未知 key 解码 JSON 响应?

c++ - 放大率低于 125% 默认 Win API(101 - 124% 之间)

javascript - 如何检查我的 json 数组是否缺少对象

javascript - 通过服务从 api 调用返回到组件的数据是一个对象,似乎需要成为 Angular 的数组