cocos2d-x把json資料解析到數組或字典中(libjson庫)

來源:互聯網
上載者:User

  以前在cocos2d-x項目中用到json解析,整合了libjson庫後發現網上提供的解析方法大多是在解析過程中取得值,並沒有將解析結果有效儲存起來,於是摸索一番,把解析結果根據資料格式存到數組或字典當中。

  不敢獨享,代碼奉上:

JsonUtil:: parseArrJSON(JSONNODE *n,CCObject ** (n == isAry= JSONNODE_ITERATOR it = *key=json_name(* (strcmp(key, )== *obj== *obj== (it != (*it == (json_type(*it)==*char_str=CCString::ccs(*)*obj)-> key=json_name(*!*)*obj)-> (json_type(*it) == JSON_ARRAY || json_type(*it) ==*tempobj=*it,&*)*obj)-> key=json_name(*!*)*obj)-> (json_type(*it)==*value = json_as_string(**char_str=*)*obj)-> key=json_name(*!*)*obj)-> (json_type(*it)== json_number value = json_as_float(**char_str=CCString::createWithFormat(*)*obj)-> key=json_name(*!*)*obj)->++* JsonUtil:: jsonValue( **an =*obj=&View Code

  建立個類JsonUtil,包含兩個靜態方法,使用的時候調用JsonUtil::jsonValue(const char *_char),解析的結果會儲存在字典或者數組中,例子:

  *betem=CCArray  *ary= (CCArray *)   JsonUtil::jsonValue(betem);
ccout(ary);

  這裡的ccout是自訂的用來列印數組和字典的方法。cocos2d-x的CCLog跟NSLog相比起來真是差遠了,哪怕把時間列印出來也好啊。

  附上ccout代碼,可以用來列印儲存在CCArray或CCDictionary中的json資料,勉強做成類似NSLog輸出的樣子:

  

ccout(CCObject *thob, donotset=, dot= AppDelegate::ccout(CCObject *thob, donotset, (dynamic_cast<CCDictionary *><<*temp=(CCDictionary ** *key=ele->*ob=ele-><< ( i=; i<donotset+; i++)cout<<<<key<<->ccout(ob,donotset+<<<< ( i=; i<donotset; i++)cout<<<<<< (dynamic_cast<CCArray *><<*temp=(CCArray ** (dynamic_cast<CCDictionary *> (ob!=temp->->ccout(ob,donotset+,->ccout(ob,donotset+ (dynamic_cast<CCArray *>->ccout(ob,donotset+ (dynamic_cast<CCString *><<((CCString*)ob)-> (ob!=temp-><<<<<<View Code

  輸出結果:

======

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.