知識
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側(cè)重于功能的便捷,營銷的便利,運(yùn)營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!
JSON數(shù)據(jù)格式分析
發(fā)表時間:2020-10-19
發(fā)布人:葵宇科技
瀏覽次數(shù):48
1、JSON介紹
JSON是一種數(shù)據(jù)構(gòu)造比較簡單,輕量級的,易于存儲的數(shù)據(jù)構(gòu)造情勢。很便利人的瀏覽,也便利機(jī)械的編寫和解析。
JSON是一種完全自力于文本說話的文本構(gòu)造,我們既可以在js代碼中寫json數(shù)據(jù),也能在java、php等說話中應(yīng)用這種文本情勢。
2、JSON構(gòu)造分析
JSON只有兩種數(shù)據(jù)構(gòu)造模型:數(shù)組和對象。數(shù)組常用的表示是JSONArray,對象常用的表示是JSONObject。
JSON的存儲結(jié)構(gòu)成取的是鍵值對的情勢表示的,熟悉JAVA開辟的人應(yīng)當(dāng)很清跋扈,是實際上是map的存儲方法,一個key對應(yīng)一個value。當(dāng)然,在不合說話中,可能懂得方法上會有不合的差別,的數(shù)據(jù)構(gòu)造中可能被懂得為數(shù)據(jù)字典,C中可能被懂得為構(gòu)造體等數(shù)據(jù)類型。關(guān)于這個,等下我們會舉例解釋。
3、JSON數(shù)據(jù)舉例
可能有的人對json數(shù)據(jù)情勢并不熟悉,這里給出一個json數(shù)據(jù)的示例,這是大年夜一段代碼中朝長進(jìn)步出來的內(nèi)容,可能大年夜家看起來會認(rèn)為很奇怪,然則這是一個完全的json格式的字符串,包含了json定義的兩中數(shù)據(jù)格式,數(shù)組和對象:
{ "id": "20150104A000SB00", "thumbnails_qqnews": [ "http://inews.gtimg.com/newsapp_ls/0/34260782_150110/0" ], "thumbnails": [ "http://inews.gtimg.com/newsapp_ls/0/34260782_150110/0" ], "articletype": "0", "timestamp": 1420373100, "time": "2015-01-04 20:05:00", "commentid": "1074737367", "url": "http://view.inews.qq.com/a/20150104A000SB00", "title": "武媚娘傳奇→武大年夜頭傳奇", "tag": [ ], "abstract": "漢子在年青的時刻都欲望能擁有一個花枝飄揚(yáng),外表光鮮亮麗的那種女人??墒歉鴼q月的沉淀,尤其是當(dāng)他有了本身的一番事業(yè)和豐富的人生經(jīng)歷時,就會發(fā)明本身當(dāng)初的設(shè)法主意是多么竽暌棺稚,因為,一個根本就不敷!", "author": [ ], "chlid": "1796", "origUrl": "http://m.pengfu.com/content/1127642/", "show_expr": 1, "flag": "0", "picShowType": 0, "chlname": "捧腹網(wǎng)", "chlmrk": "精選搞笑圖片,無節(jié)操、有內(nèi)涵、巨險惡、神答復(fù),看點(diǎn)多,笑點(diǎn)多!", "chlsicon": "http://pnewsapp.tc.qq.com/newsapp_ls/0/om_407743_100100/0", "chlicon": "http://pnewsapp.tc.qq.com/newsapp_ls/0/om_407743_100100/0", "source": "捧腹網(wǎng)", "wechat": "pengfuwang001", "PlacementId": "9079537218569440795", "SubAdOn": 0, "commentPlacementId": "", "openAdsComment": 0 }
4、解析方法
在不合的說話中,可能有不合的解析方法,這里我們只評論辯論在Android情況中的解析方法,與java中是一致的。
前面我們說過,JSON是采取的map集合情勢的封裝,是鍵值對的情勢,那么我們在掏出數(shù)據(jù)的時刻,就會采取get辦法,如下兩句代碼:
JSONObject jsonObject = new JSONObject(jsonString); JSONObject msgJsonObject = jsonObject.getJSONObject("msg");這兩句代碼的意思是說,我們將獲得的json字符串,實例化成為一個json對象,然后在這個json對象中,獲取獲得msg這個對象。
JSONArray temp = product.getJSONArray("photos"); int length = temp.length(); for (int i = 0; i < length; i++) { String msg = temp.optString(i); imgList.add(msg); }這段代碼的意思是大年夜product這個json對象中,獲得一個名為photos的json數(shù)組對象,然后將之存儲在一個集合中。
product.getString("title")這一句代碼就比較簡單輕易懂得了,意思是獲取一個title的對象,而這個對象是一個String類型的對象。
5、總結(jié)
在膳綾擎的json解析中,我們只是簡單的采取了一些比較重要的代碼片段,并沒有完全的┞飯示若何解析一段代碼,這里有兩個問題須要留意:
(1)、在處理json字符串的時刻,須要處理一個異常,名為JSONException,平日是json的數(shù)據(jù)格式紕謬或者數(shù)據(jù)不完全。
(2)、在獲取json字符串中的值的時刻,如不雅試用get獲取,可能會出現(xiàn)該字符串不存在而導(dǎo)致報錯的情況,可以試用opt獲取,代碼如下:
product.optString("title")然則這里會出現(xiàn)一個問題,那就是如不雅沒有title這個字符串對象,這句話也是不會報錯的,然則法度榜樣的履行結(jié)不雅卻不是我們預(yù)期那樣的。
相關(guān)案例查看更多
相關(guān)閱讀
- 模版消息
- 云南網(wǎng)絡(luò)營銷顧問
- 北京小程序開發(fā)
- 網(wǎng)絡(luò)公司聯(lián)系方式
- 江蘇小程序開發(fā)
- 模版信息
- 汽車報廢回收管理系統(tǒng)
- 報廢車回收
- 昆明軟件定制公司
- 重慶網(wǎng)站建設(shè)公司
- uniapp開發(fā)小程序
- 定制小程序開發(fā)
- 云南小程序公司
- 開通微信小程序被騙
- 微信小程序開發(fā)入門課程
- 汽車報廢管理系統(tǒng)
- 昆明小程序定制開發(fā)
- 云南軟件開發(fā)
- 云南手機(jī)網(wǎng)站建設(shè)
- 網(wǎng)站優(yōu)化
- 云南做網(wǎng)站
- 云南小程序開發(fā)首選品牌
- 云南小程序開發(fā)哪家好
- 網(wǎng)站建設(shè)報價
- 云南網(wǎng)站優(yōu)化公司
- 怎么做網(wǎng)站
- 報廢車回收管理軟件
- 開發(fā)制作小程序
- 網(wǎng)站上首頁
- 云南花農(nóng)小程序