µ±È»»¹ÊÇÐèÒªÒ»¸ö½âÎöµÄº¯ÊýÓÃÀ´Êä³öºÍµÝ¹éÓõÄ
void parseArrJSON(JSONNODE *n) { if (n == NULL) { CCLOG("Invalid JSON Node "); return; } // Parser JSONNODE_ITERATOR it = json_begin(n); while (it != json_end(n)) { if (*it == NULL) { CCLOG("Invalid JSON Node "); return; } if (json_type(*it) == JSON_ARRAY || json_type(*it) == JSON_NODE) { parseArrJSON(*it); } else { // Èç¹ûÖ»ÊÇֵûÓмü£¬ÔòÖ»ÐèÒª»ñÈ¡¼´¿É json_char *value = json_as_string(*it); CCLOG("%s", value); json_free(value); } ++it; } } Ó÷¨ºÜ¼òµ¥ char *arrJson = "["value1","value2","value3"]"; JSONNODE *an = json_parse(arrJson); parseArrJSON(an); json_delete(an);b.¸ñʽ»¯
Ò²¾ÍÊÇÆ´½Ójson×Ö·û´®ÁË
JSONNODE *arrn = json_new(JSON_ARRAY); json_set_name(n, NULL); json_push_back(n, json_new_a(NULL, "one")); json_push_back(n, json_new_a(NULL, "ºº×Ö")); json_push_back(n, json_new_i(NULL, 999999)); json_char *arrjc = json_write(arrn); CCLOG("Json: %s, %d", arrjc, strlen(jc));ÐèҪעÒâµÄÊÇÈç¹û²»ÏëÒª¡°¼ü¡±£¬Ôò½«¶ÔÓ¦²ÎÊýÉèÖÃΪNULL£¬¶ÔÏóÖв»ÄÜÕâÑù×ö£¬Êý×éÖпÉÒÔ
ÌرðPS£ºÈç¹ûÏ£Íûºº×ÖÔÑùÊä³ö£¬¶ø²»×ª»¯³Éutf-8±àÂë¸ñʽ£¬ÐèÒª½«JSONOptions.hÖеĺê¹Ø±Õ
#define JSON_ESCAPE_WRITES´úÂëÏÂÔØ
5-24¼Ç¼£ºlibjsonÖÐÅжϽáµãÀàÐÍc·½·¨json_type(const void *node)
ÒѶ¨ÒåÀàÐÍ
#define JSON_NULL '' #define JSON_STRING '1' #define JSON_NUMBER '2' #define JSON_BOOL '3' #define JSON_ARRAY '4' #define JSON_NODE '5'
À´Ô´ÍøÖ·£º
¹Ø¼ü´Ê£º
ÎÄÕÂÆÀÂÛ (0)
¡¡