0

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
4

0 に答える 0