我在jansson处理字符串和数组时遇到了困难。
unsigned char number[10]; // contains a hex array using upto 6 bytes
现在我做了
json_object_set_new(foo,"bar",json_string(number));
这会产生一个空的json对象。
我也试过这个
number[6]='\0';
接着是
json_object_set_new(foo,"bar",json_string(number));
但结果是一样的。 我无法理解为什么。
答案 0 :(得分:0)
样品
#include <stdio.h>
#include <stdlib.h>
#include <jansson.h>
int main(void){
unsigned char number[10] = "123456";
char *result;
json_t *root = json_object();
json_t *foo = json_object();
json_object_set(root, "foo", foo);
json_object_set_new(foo,"bar",json_string(number));
result = json_dumps(root, 0);
printf("%s\n", result);//{"foo": {"bar": "123456"}}
free(result);
return 0;
}