在c中将整数数组转换为json

时间:2018-03-14 11:33:24

标签: c arrays json integer

我有一个由外部硬件(DMA)填充的缓冲区。发生这种情况时,我可以使用以下代码打印数据:

void* buffer;
...
/*buffer is initialized and filled at some point*/
...
for (k=0; k<10; k++) {
    printf("%d ", ((unsigned int*) buffer)[k]);
}

我想使用libjson提供的功能将此数据转换为JSON格式。这是我的尝试:

json_object * jobj = json_object_new_object();

json_object *jarray = json_object_new_array();

if (!jobj || !jarray) {
    return NULL;
}
...
for (k=0; k<10; k++) {
    printf("%d ", (((unsigned int*) buffer);
    sprintf(str, "%d", ((unsigned int*) buffer)[k]);
    json_object *jstring = json_object_new_string(str);
    json_object_array_add(jarray,jstring);
}
json_object_object_add(jobj,"array", jarray);

此代码有效,但我不确定“json_object * jstring”的定义是否正确,特别是对于大量数据。

0 个答案:

没有答案