strtok() を使用して、JSON データを 2 次元の char 配列に解析しようとしています。しかし、うまくいきません。( strtok は元のファイルを変更することを知っているので、一時バッファがありますが、機能しません)
JSON データは次のとおりです。
{"data":[
[13,0,31,20,17,59],
[5,1,0,0,0,0],
[0,9,26,24,0,1],
[7,9,57,31,0,0],
[5,1,0,0,0,0]
]}
これが私のコードです:
int parser(char *buffer){
char *pStr;
char *token;
char *t;
char *p;
int size;
char temp[100];
pStr = strstr(buffer, "{\"data\":[[");
//offet by 9 to reach the JSON data
pStr=&pStr[9];
token=strtok(pStr,"[");
printf(token);
while(token != NULL)
{
p = strstr(token, "]");
size=p-token;
memcpy(temp, token, size);
t=strtok(temp,",");
while(t != NULL){
printf(t);
t = strtok(NULL, ",");
}
token = strtok(NULL, "[");
}
return 0;
}
結果は、一時バッファが機能しないように見えます。私は何か見落としてますか?どうもありがとう。
13,0,31,20,17,59],
13
0
31
20
17
59