精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

更好更快更高效解析JSON說明

開發(fā)
最近在用QT寫一個(gè)小軟件,途中遇到了解析JSON的問題,坎坷之路,總結(jié)出一些經(jīng)驗(yàn),一定要與大家分享一下。先介紹下JSON的使用。

現(xiàn)在來一個(gè)實(shí)例解析類,直接就把解析JSON到QVariant去了。唯一不足的是沒有搞錯(cuò)誤處理,具體方法也請各位自行參考json-c的發(fā)行文檔,這樣比較方便敘述,STL或者Boost我都沒有認(rèn)真接觸過,不方便寫。

JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式。 易于人閱讀和編寫。同時(shí)也易于機(jī)器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition – December 1999的一個(gè)子集。 JSON采用完全獨(dú)立于語言的文本格式,但是也使用了類似于C語言家族的習(xí)慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 這些特性使JSON成為理想的數(shù)據(jù)交換語言。

話說JSON在Web上應(yīng)用得非常不錯(cuò),XML雖然想法很好,但是冗長,解析又麻煩。而JSON作為Javascript的字符描述語言,根本不用手動解析,直接交給Javascript,Eval便可得到結(jié)果。而PHP 5.2 以上,更內(nèi)置了JSON的解析函數(shù),一個(gè)函數(shù)便把PHP的對象轉(zhuǎn)換為JSON,比XML來得快得多、方便得多(話說PHP干對象的Serialize和Unserialize是它的強(qiáng)項(xiàng)  )。

今天本文就來說說在C和C++上如何來讀取JSON。實(shí)際上解析JSON是比較簡單的,難點(diǎn)在于讀取。另外,以QT為例,這樣比較方便敘述,STL或者Boost我都沒有認(rèn)真接觸過,不方便寫。#t#

現(xiàn)在JSON解析庫滿天飛,沒有必要再自己寫個(gè)了,除非是商業(yè)程序  。我試過JsonCPP, QJson, Json-Spirit, jaula等C++的庫。遇到總總問題,有不支持中文(UTF-8編碼也不行)、不方便在Windows下編譯、體積過于臃腫等毛病,最終的選擇是C庫json-c,因?yàn)镚oogle看到一篇文章對JSON的各個(gè)C庫的優(yōu)點(diǎn)比較,說Json-C兼容性最好,而且支持中文(使用UTF-8)。


編譯仍然不是很方便,需要使用configure和GCC。這樣就需要MSYS或者Cygwin了,各位Windows大大需要編譯的話,勞請各位自己Google,安裝最基本的MSYS或者Cygwin,以便使用Bash。另外,MinGW也是必不可少的啦,因?yàn)橐肎CC和Make嘛。

如若在C++下使用C的庫,頭文件需要特殊處理,解析JSON因?yàn)镃編譯器及C++編譯器編譯出來的中間代碼的符號不一致,如若不經(jīng)處理,最后在鏈接的時(shí)候定會出現(xiàn)找不到符號的問題。以下是C++的代碼:

  1. #include <QString> 
  2. #include <QList> 
  3. #include <QMap> 
  4.    
  5. extern "C"{  
  6. #include <stdio.h> 
  7. #include <stdlib.h> 
  8. #include <json.h> 
  9. #include <json_object.h> 
  10. #include <json_tokener.h> 
  11. }  
  12.    
  13. .....  
  14. // 忽略上下文的其它代碼,關(guān)注我們要的解析方法  
  15.    
  16. // 1) 解析數(shù)組  
  17. char * json_string = " [ 10, 20, \"nice\" ] ";  
  18. struct json_object *obj, *temp_obj;  
  19. QList< QVariant > data;  
  20.    
  21. obj = json_tokener_parse( json_string ); /* 此時(shí)的Obj是一個(gè)Array */  
  22. for(int i=0 ; i<json_object_array_length(obj) ; i++ ){  
  23.     temp_obj = json_object_array_get_idx(obj, i ); /* 獲取數(shù)組的第 i 個(gè)元素,作為 temp_obj 保存 */  
  24.     switch( json_object_get_type( temp_obj ) {  /* 判斷 temp_obj 的類型 */  
  25.       case json_type_string:  /* 若是字符串 */  
  26.         data.append( json_object_get_string(temp_obj) )  
  27.       break;  
  28.    
  29.       case json_type_int: /* 若是整數(shù) */  
  30.         data.append( json_object_get_in(temp_obj) )  
  31.       break;  
  32.    
  33.       default: /* 其它的類型先不管了 */  
  34.       break;  
  35.     }  
  36.  }  
  37. }  
  38.    
  39. // 2) 解析對象  
  40. char * json_string = " { one: \"good\", \"two\":2 } "  
  41. struct json_object *obj, *temp_obj;  
  42. QMap< QString,QVariant > data;  
  43.    
  44. obj = json_tokener_parse( json_string );  
  45. json_object_object_foreach( obj, key, value ){ // 這里的key和Value不需要提前聲明。在宏里作者就給聲明了 -_-|||  
  46.    
  47.  switch( json_object_get_type( value ) {  
  48.       case json_type_string:  /* 若是字符串 */  
  49.         data.insert( key, json_object_get_string(value) )  
  50.       break;  
  51.    
  52.       case json_type_int: /* 若是整數(shù) */  
  53.         data.insert( key, json_object_get_in(value) )  
  54.       break;  
  55.    
  56.       default: /* 其它的類型先不管了 */  
  57.       break;  
  58.  }  
  59. ... 
責(zé)任編輯:chenqingxiang 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2024-10-15 10:47:12

2024-01-01 18:57:01

Code技巧符號

2017-09-04 17:50:12

2019-04-19 08:18:37

神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)圖形

2010-01-06 14:24:40

Javascript解

2009-12-30 10:46:01

Ubuntu目標(biāo)

2010-02-06 10:54:38

Android進(jìn)程

2024-12-20 16:41:22

2010-02-02 13:59:11

Python編寫

2020-10-22 10:17:27

敏捷性高級合伙人CIO

2018-05-08 14:58:07

戴爾

2017-12-21 14:36:10

大數(shù)據(jù)健身智慧

2016-09-18 20:19:01

LinuxVimGitHub

2010-02-03 09:27:21

編寫Python程序

2010-02-03 17:51:42

Ubuntu Linu

2010-01-20 17:32:16

C++函數(shù)

2015-01-26 10:38:53

企業(yè)級WLAN

2010-01-14 16:35:31

C++優(yōu)化

2023-11-24 11:20:04

functoolsPython

2016-06-30 16:54:49

UCloud愛數(shù)云計(jì)算
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

1024视频在线| 国产高潮流白浆| 精精国产xxxx视频在线野外 | 热99久久精品| 中国一级片在线观看| 97se亚洲国产一区二区三区| 色婷婷综合久久久久中文| 正义之心1992免费观看全集完整版| 亚洲欧美激情国产综合久久久| 久久久久久穴| 欧美二区乱c黑人| 免费黄色片网站| 综合中文字幕| 欧美日韩在线直播| 青青草视频在线免费播放 | 国产精品天天摸av网| 国产精品国产亚洲精品看不卡15| 男人的天堂av网站| 在线观看一区| 麻豆乱码国产一区二区三区| 色一情一交一乱一区二区三区 | 日韩精品久久一区二区三区| 成人精品在线播放| 精品一区二区av| 国产成人精品a视频一区www| 国产乡下妇女做爰毛片| 999视频精品| 在线播放国产一区中文字幕剧情欧美| 天堂www中文在线资源| 国产精品久久久久久av公交车| 在线视频中文字幕一区二区| 免费成人午夜视频| 日韩欧美一起| 亚洲精品第1页| 中文字幕一区二区三区在线乱码 | 91国在线精品国内播放| 国产女人被狂躁到高潮小说| 天天天综合网| 中文字幕日韩精品在线| 在线观看国产精品一区| 亚洲黄页在线观看| 日韩av网站电影| 亚洲图片综合网| 97人人澡人人爽91综合色| 日韩欧美一级二级| 少妇愉情理伦片bd| 国内精品视频| 日韩精品一区二区三区中文精品| 乳色吐息在线观看| 91成人精品在线| 精品处破学生在线二十三| 91人人澡人人爽| 国产精品nxnn| 亚洲精品成人av| 美国黄色a级片| 欧洲精品一区| 日韩精品在线观| 97超碰在线免费观看| 要久久爱电视剧全集完整观看| 日韩电影中文字幕一区| 国产熟妇久久777777| 激情五月综合| 日韩在线视频网站| 蜜臀久久精品久久久用户群体| 欧美91大片| 欧美精品久久久久久久久| 亚州国产精品视频| 久久在线91| 国产美女被下药99| 性色av蜜臀av| a在线播放不卡| 91免费看蜜桃| 国产黄色片网站| eeuss影院一区二区三区| 日本视频一区二区在线观看| 91精彩视频在线播放| 亚洲色图欧洲色图| 成人性免费视频| 亚洲综合在线电影| 69堂国产成人免费视频| www.555国产精品免费| 美女久久99| 久久精视频免费在线久久完整在线看| 久久综合成人网| 日韩主播视频在线| 国产精品天天狠天天看| www.蜜桃av.com| 久久亚区不卡日本| 亚洲成人动漫在线| 在线一区av| 91精品国产91久久久久久一区二区 | 久久久精品欧美| 日韩精品无码一区二区| 日本系列欧美系列| 国产精品亚洲综合| 1区2区3区在线观看| 亚洲地区一二三色| 久久久久久久久久一区二区| 久久动漫网址| 精品久久久av| 区一区二在线观看| 国产精品 日产精品 欧美精品| 欧美影视一区二区| 1234区中文字幕在线观看| 欧美日韩国产小视频| 在线精品一区二区三区| 久久久久久久久国产一区| 欧美在线亚洲一区| 亚洲av永久无码国产精品久久| 国产日韩欧美a| 黄色大片中文字幕| 国产美女视频一区二区| 伊人久久久久久久久久久| 国产精品19乱码一区二区三区| 精品影视av免费| 欧洲亚洲一区二区三区四区五区| 超碰97免费在线| 欧美精品色一区二区三区| 伊人网在线视频观看| 亚洲国产一区二区精品专区| 91色在线视频| 在线观看免费黄色| 一本一道综合狠狠老| 亚洲自拍偷拍精品| 国模大胆一区二区三区| 91系列在线播放| 欧美黑人激情| 欧美日韩在线精品一区二区三区激情| 在线免费观看日韩av| 国产欧美一区二区三区国产幕精品| 91手机在线播放| 超碰在线免费公开| 538prom精品视频线放| 中文字幕第69页| 蜜臀99久久精品久久久久久软件| 日韩视频精品| 亚洲电影有码| 国产午夜精品一区理论片飘花| 久久久久亚洲av成人毛片韩| 91在线一区二区三区| 欧美日韩精品在线一区二区| 国产精品久久久久av蜜臀| 欧美国产日本在线| 亚洲不卡免费视频| 亚洲一区二区三区四区五区中文| 91精品人妻一区二区三区蜜桃2| 欧美视频官网| 18成人免费观看网站下载| 影音先锋在线播放| 日韩精品一区二区三区四区| 国产五月天婷婷| 95精品视频在线| 男人亚洲天堂网| 奇米色欧美一区二区三区| 国产成人午夜视频网址| 国产在线91| 欧美精品自拍偷拍| 中文字幕av久久爽av| 成人一区在线观看| 丰满少妇被猛烈进入高清播放| 五月综合久久| 国产精品免费一区豆花| 午夜视频在线观看网站| 91精品国产色综合久久不卡蜜臀| 日本精品人妻无码77777| 粉嫩av一区二区三区| 欧美 日韩 激情| 日韩一区电影| 99久久精品免费看国产一区二区三区| 国产99在线| 国产午夜精品全部视频播放| 99久久精品免费看国产交换| 亚洲在线免费播放| 波多野结衣av在线免费观看| 麻豆成人在线观看| 全黄性性激高免费视频| 亚洲区小说区图片区qvod| 国产精品一二三在线| 午夜成年人在线免费视频| 亚洲精品视频在线播放| 97精品人妻一区二区三区在线 | 久久久蜜桃一区二区| 中文字幕久久午夜不卡| 午夜福利三级理论电影| 日韩精品乱码免费| 日韩精品一区二区在线视频| 国产精品免费不| 97se亚洲综合在线| 婷婷激情一区| 欧美人与物videos| 成人在线视频成人| 欧美mv和日韩mv国产网站| 国产99免费视频| 亚洲精品高清视频在线观看| a天堂中文字幕| 国产v日产∨综合v精品视频| 欧美性猛交久久久乱大交小说 | 亚洲色图在线播放| 欧美熟妇一区二区| 国产91丝袜在线播放0| 日本女优爱爱视频| 亚洲一级电影| 亚洲天堂av免费在线观看| 亚洲三级性片| 国产一区在线免费观看| 伊人久久一区| 国产精品久久久久久久久久免费| 麻豆福利在线观看| 精品精品国产国产自在线| 国产www.大片在线| 亚洲白拍色综合图区| 91亚洲国产成人久久精品麻豆| 色综合天天性综合| 国产 日韩 欧美 成人| 18成人在线视频| 无码少妇精品一区二区免费动态| www.成人网.com| 波多野结衣三级视频| 麻豆国产精品官网| 成人性生生活性生交12| 国产欧美日韩一级| 99在线精品免费视频| 欧美 日韩 国产精品免费观看| 亚洲精品美女久久7777777| 亚洲性视频大全| 久久99国产精品99久久| 福利片在线一区二区| 97超碰资源| 国产精品日本一区二区不卡视频| 国产精品久久91| 桃子视频成人app| 日韩美女视频免费在线观看| 高清毛片在线观看| 97香蕉超级碰碰久久免费的优势| 成人福利电影| 午夜精品久久久久久久男人的天堂| 啦啦啦中文在线观看日本| 欧美高清视频免费观看| 人妖欧美1区| 久久久久久有精品国产| 92久久精品| 欧美夜福利tv在线| 欧美成人h版| 国产精品444| 日韩不卡在线| 国产一区深夜福利| 国产精品18| 超碰97人人人人人蜜桃| 97青娱国产盛宴精品视频| 激情小说综合区| 亚洲黄页网站| 亚洲欧洲精品在线 | 久久av中文| 神马影院午夜我不卡影院| av中文一区| 中国人体摄影一区二区三区| 中文av一区| 亚洲熟妇av日韩熟妇在线| 亚洲专区欧美专区| 久久99爱视频| 国产高清在线精品| 加勒比精品视频| 欧美韩国日本一区| 中文字幕在线观看2018| 亚洲成精国产精品女| 香蕉影院在线观看| 欧美天堂亚洲电影院在线播放| 国产免费高清av| 亚洲第一精品自拍| 免费国产在线观看| 久久资源免费视频| 国产精品原创| 国产精品视频地址| 在线视频亚洲欧美中文| 免费在线观看91| 99久久婷婷国产综合精品电影√| 国产欧美日韩小视频| 久久精品人人做人人爽电影蜜月| 中文字幕免费高清在线| 成人激情小说网站| 99久久99久久精品免费看小说. | www婷婷av久久久影片| 国产婷婷精品| 欧美又黄又嫩大片a级| av亚洲精华国产精华| 少妇高潮一区二区三区喷水| 午夜伊人狠狠久久| 中文天堂在线视频| 精品av久久707| 在线国产情侣| 91国自产精品中文字幕亚洲| 99久久久国产| 欧美成人综合一区| 欧美激情视频一区二区三区免费| 国产男女激情视频| 成人短视频下载| 国产精品三区在线观看| 色婷婷av久久久久久久| 亚洲第一成人av| 色爱av美腿丝袜综合粉嫩av| 美女的胸无遮挡在线观看 | 国产一伦一伦一伦| 99久久婷婷国产精品综合| 欧美特级一级片| 欧美日韩一区成人| 你懂的在线观看视频网站| 九九热精品视频国产| 黄色欧美视频| 日产精品久久久一区二区| 一区二区三区国产盗摄| a级大片免费看| 中文字幕亚洲精品在线观看| 久久中文字幕免费| 亚洲福利在线观看| 四虎影视成人| 91gao视频| 亚洲精品在线观看91| gogogo高清免费观看在线视频| 久久美女高清视频| www.毛片.com| 亚洲成色www8888| 国产极品人妖在线观看| 91精品啪aⅴ在线观看国产| 视频在线不卡免费观看| av污在线观看| 国产欧美日韩中文久久| 黄色av一级片| 国产午夜精品久久久 | 好吊一区二区三区视频| 亚洲一二三四久久| 免费看日韩av| 欧美高跟鞋交xxxxhd| 91成人精品在线| av在线免费观看国产| 国产精品77777| 久久久国产成人| 日韩精品专区在线| 黄页网站在线观看免费| 国产精华一区| 欧美国产免费| 天天躁日日躁狠狠躁av| 性久久久久久久| 天天射天天色天天干| 欧美性受xxx| 国产麻豆一区二区三区精品视频| 国产精品wwwww| 国产精品乱码人人做人人爱| 国产一区二区在线播放视频| 久久精品视频导航| 日韩在线观看中文字幕| 免费超爽大片黄| 91免费在线视频观看| 神马久久久久久久 | 欧美日韩三区四区| 日韩成人精品视频| 蜜桃av.com| 日韩免费在线观看| 天堂√中文最新版在线| 欧美视频观看一区| 久久激五月天综合精品| 欧美三级小视频| 日韩av一区二区在线观看| 影视一区二区三区| 亚洲欧美一二三| 波多野洁衣一区| 亚洲精品久久久久久久蜜桃| 色狠狠久久aa北条麻妃| 国产一区二区三区视频在线| 青青青在线视频播放| 久久免费看少妇高潮| 国产又粗又大又爽| 国模视频一区二区| 欧美三级伦理在线| 巨乳女教师的诱惑| 日韩欧美第一页| 超碰免费在线播放| 久久精品国产99精品国产亚洲性色| 日韩精品视频网站| 青娱乐国产精品| 亚洲欧美中文日韩在线v日本| 青青在线精品| 国产一区二区网| 中文字幕欧美一区| 亚洲人在线观看视频| 国产精品入口夜色视频大尺度| 激情欧美国产欧美| 纪美影视在线观看电视版使用方法| 日韩欧美一级片| 韩国成人在线| 欧美日韩黄色一级片| 中文字幕日韩av资源站| 麻豆国产在线播放| www.成人av| 免费在线欧美视频| 中国一级特黄毛片| 九九精品在线视频| 久久精品高清| 青青草福利视频| 亚洲国产精品久久久久秋霞不卡| 最新亚洲国产|