zoukankan      html  css  js  c++  java
  • cjson两种数组的解析方法(转)

    解析数组第一类:

     像以上格式的数据解析可以使用如下方式:

    cJSON *ip_arry     = cJSON_GetObjectItem( clientlist, "iplist");  //clientlist 是使用 cjson对象
    if( NULL != ip_arry ){
     cJSON *client_list  = ip_arry->child;
        while( client_list != NULL ){ 
            char * ip   = cJSON_GetObjectItem( client_list , "ip")->valuestring ;
            char * mask = cJSON_GetObjectItem( client_list , "mask")->valuestring ;
            printf("ip: %s  mask: %s",ip,mask);
            client_list = client_list->next ;
        }
    }
    

      解析数组第二类:

     有时候得到的数据需要是这个样子的,这时候就需要如下的解析方法了:

    cJSON *MAC_arry     = cJSON_GetObjectItem( clientlist, "Maclist");
    if( MAC_arry != NULL ){
        int  array_size   = cJSON_GetArraySize ( MAC_arry );
    
        for( iCnt = 0 ; iCnt < array_size ; iCnt ++ ){
            cJSON * pSub = cJSON_GetArrayItem(MAC_arry, iCnt);
            if(NULL == pSub ){ continue ; }
    
            char * ivalue = pSub->valuestring ;
            printf("Maclist[%d] : %s",iCnt,ivalue);
        }
    }
    

      通过判断判断MAC_arry探知数组是否有值,可以减少程序错误的情况。

    原文链接:https://www.jianshu.com/p/5d999b2e8cfa

  • 相关阅读:
    SGU 456 Annuity Payment Scheme
    SPOJ AMR10F Cookies Piles
    poj 2823 Sliding Window (单调队列)
    (bc #45) A
    cf 442C. Artem and Array
    cf 442B Andrey and Problem
    cf 443B Kolya and Tandem Repeat
    (BC 一周年) hdu 5312 Sequence
    (BC 一周年)hdu 5311 Hidden String
    (BC 一周年)hdu 5310 Souvenir
  • 原文地址:https://www.cnblogs.com/yeshenmeng/p/12714661.html
Copyright © 2011-2022 走看看