C 需要使用json的帮助吗
我在jansson中处理字符串和数组时遇到困难C 需要使用json的帮助吗,c,arrays,json,string,C,Arrays,Json,String,我在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)); 但结
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));
但结果是一样的。
我不明白为什么。示例
#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;
}
#包括
#包括
#包括
内部主(空){
无符号字符数[10]=“123456”;
字符*结果;
json_t*root=json_object();
json_t*foo=json_object();
json_对象_集(根,“foo”,foo);
json_object_set_new(foo,“bar”,json_字符串(数字));
结果=json_转储(根,0);
printf(“%s\n”,result);//{“foo”:{“bar”:“123456”}
自由(结果);
返回0;
}
检查您调用的任何函数的返回值。json\u字符串失败,因此返回null。因此,查看文档,json\u字符串的参数必须是有效的UTF-8字符串。它可能不在你的程序中。