国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 使用Java進行Json數據的解析(對象數組的相互嵌套)

使用Java進行Json數據的解析(對象數組的相互嵌套)

2020-12-19 14:55zz-1120-wtenlb Java教程

下面小編就為大家帶來一篇使用Java進行Json數據的解析(對象數組的相互嵌套)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

這段時間我們在做一個英語翻譯軟件的小小小APP,涉及到了對Json數據的解析,所以特地來總結一下!

假設我們要對如下數據進行解析,其實在平時,返回的Json數據是很亂的,很難分清數據的關系,這是經過相關工具美化后的結果

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
{
 "translation": [
 "愛"
 ],
 "basic": {
 "us-phonetic": "l?v",
 "phonetic": "l?v",
 "uk-phonetic": "l?v",
 "explains": [
  "n. 戀愛;親愛的;酷愛;喜愛的事物",
  "vt. 喜歡;熱愛;愛慕",
  "vi. 愛",
  "n. (Love)人名;(英)洛夫"
 ]
 },
 "web": [
 {
  "value": [
  "愛情",
  "愛",
  "愛"
  ],
  "key": "Love"
 },
 {
  "value": [
  "無盡的愛",
  "藍色生死戀",
  "不了情"
  ],
  "key": "Endless Love"
 },
 {
  "value": [
  "早戀",
  "青春期戀愛",
  "初戀"
  ],
  "key": "puppy love"
 }
 ]
}

 

我們把數據定義為一個字符串,加入轉義字符之后就成了這樣,有點亂是吧,所以我們根據上圖分析就好啦。

Json數據說白了就是對象和數組的相互嵌套,那么我們開始吧!

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
String st = "{\"translation\":[\"愛\"],\"basic\":{\"us-phonetic\":\"l?v\",\"phonetic\":\"l?v\",\"uk-phonetic\":\"l?v\",\"explains\":[\"n. 戀愛;親愛的;酷愛;喜愛的事物\",\"vt. 喜歡;熱愛;愛慕\",\"vi. 愛\",\"n. (Love)人名;(英)洛夫\"]},\"query\":\"love\",\"errorCode\":0,\"web\":[{\"value\":[\"愛情\",\"愛\",\"愛\"],\"key\":\"Love\"},{\"value\":[\"無盡的愛\",\"藍色生死戀\",\"不了情\"],\"key\":\"Endless Love\"},{\"value\":[\"早戀\",\"青春期戀愛\",\"初戀\"],\"key\":\"puppy love\"}]}";
 
 
  JSONObject str = JSONObject.fromObject(st);  //json數據的最外層肯定是一個對象,參數為字符串
 //對象str又分為3部分:translation,basic,web
  if(str.has("translation")){
 JSONArray tr = str.getJSONArray("translation");  //translation是一個json數組
 for(int i = 0 ;i<tr.size();i++){ //對數組元素進行遍歷
  System.out.println(tr.getString(i));  //因為元素的值是String類型的所以忽的值的方法是getString(index)
 }
  }
 
  //basic中有數組也有元素
  if(str.has("basic")){
 JSONObject us = str.getJSONObject("basic");  //對元素進行解析,并輸出元素的值
 System.out.print("美:[" + us.getString("us-phonetic") + "]\t"); 
 
 JSONObject uk = str.getJSONObject("basic");
 System.out.print("英:[" + us.getString("uk-phonetic") + "]\n");
 
 JSONObject basic = str.getJSONObject("basic");  //先獲得basic對象
 JSONArray explain = basic.getJSONArray("explains");  //再獲得basic對象下的explains數組 
 for(int i = 0;i<explain.size(); i++){ //對數組元素進行遍歷
  System.out.println(explain.getString(i));
 
  }
  if(str.has("web")){ //web是一個數組,每個數組元素又是三個Json對象
 System.out.println("拓展:"); 
 JSONArray web = str.getJSONArray("web"); 
 for(int i = 0; i<web.size() ; i++ ){ //但是對象中又嵌套著數組
  String t = web.getString(i); //遍歷過程將web數組元素賦給String型變量
  JSONObject we = JSONObject.fromObject(t); //通過String又得到每個元素的對象
  if(we.has("key")){
 System.out.print(we.getString("key")+"\t");  //得到對象中的元素
  }
  if(we.has("value")){ 
 JSONArray value = we.getJSONArray("value");
 for(int x = 0 ; x<value.size() ;x++ ){ //遍歷對象中嵌套的數組
  System.out.print(value.getString(x));  //得到數組元素的值
  if(x<value.size()-1){
 System.out.print(";");
  }
 }
  }
  System.out.println();
 }
  }

到這里就解析完啦!

以上這篇使用Java進行Json數據的解析(對象數組的相互嵌套)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

原文鏈接:http://www.cnblogs.com/zz-1120-wtenlb/archive/2017/08/22/7414430.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品视频一区二区三区不卡 | 国产一区二区三区视频 | 在线国产视频 | 欧美日韩在线一区二区 | av一区二区在线观看 | 日本一区不卡 | 成人天堂666| 日韩综合 | 亚洲三区电影 | 亚洲精品中文字幕在线观看 | 欧美在线视频一区 | 日韩在线成人 | 涩涩一区 | 中国一级特黄毛片大片 | 成人片网址| 午夜精品视频在线观看 | 国产模特私拍xxxx | 亚洲自拍偷拍精品视频 | 国产精品永久免费视频 | 免费观看av电影 | 国产精品69毛片高清亚洲 | 欧美日韩精品在线 | 中文字幕一区在线 | 亚洲成av人片在线观看无码 | 国产精品久久久久久久久久三级 | 黄色国产免费看 | 天堂俺去俺来也www久久婷婷 | 欧美精品在线播放 | 99久久久久 | 91日韩精品一区二区三区 | 国产精品无码久久久久 | 亚洲在线电影 | 久热精品免费视频 | 亚洲视频在线观看免费 | 亚洲人视频在线 | 欧美日韩一区二区在线播放 | 成人欧美一区二区三区在线观看 | 日韩三级电影在线免费观看 | 亚洲国产99 | 黄色av免费在线 | 亚洲成人免费网站 |