我从使用 Golang 编程开始,事情看起来很简单。然后我偶然发现了 C 的 JSON 解析器(JSMN),因此我可以尝试 CGO。
static const char *JSON_STRING =
"{\"user\": \"johndoe\", \"admin\": false, \"uid\": 1000,\n "
"\"groups\": [\"users\", \"wheel\", \"audio\", \"video\"]}";
printf("- User: %.*s\n", t[i+1].end-t[i+1].start, JSON_STRING + t[i+1].start);
这给了我结果:
“-用户:johndoe”
我是 C 新手。我想将值“johndoe”放入变量中。我尝试了下面的代码,它给了我NULL
:
int c = 0;
char sub[1000];
while (c < (t[i+1].end-t[i+1].start) ) {
sub[c] = JSON_STRING[t[i+1].start+c-1];
c++;
}
sub[c] = '\0';
输出:
“-用户:空”
我怎样才能做到这一点?谢谢!