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

JSON是什么?為JavaScript準備的數據格式

開發 前端
本文介紹了JSON是什么。和 XML 一樣,JSON 也是基于純文本的數據格式。JSON 的數據格式非常簡單。

還不了解JSON是什么?看了下面這篇文章,您對JSON是什么應該能夠有了一個比較清晰的概念。

JSON 即 JavaScript. Object Natation,它是一種輕量級的數據交換格式,非常適合于服務器與 JavaScript. 的交互。本文將快速講解 JSON 格式,并通過代碼示例演示如何分別在客戶端和服務器端進行 JSON 格式數據的處理。

盡管有許多宣傳關于 XML 如何擁有跨平臺,跨語言的優勢,然而,除非應用于 Web Services,否則,在普通的 Web 應用中,開發者經常為 XML 的解析傷透了腦筋,無論是服務器端生成或處理 XML,還是客戶端用 JavaScript. 解析 XML,都常常導致復雜的代碼,極低的開發效率。實際上,對于大多數 Web 應用來說,他們根本不需要復雜的 XML 來傳輸數據,XML 的擴展性很少具有優勢,許多 AJAX 應用甚至直接返回 HTML 片段來構建動態 Web 頁面。和返回 XML 并解析它相比,返回 HTML 片段大大降低了系統的復雜性,但同時缺少了一定的靈活性。

現在, JSON 為 Web 應用開發者提供了另一種數據交換格式。讓我們來看看 JSON 到底是什么,同 XML 或 HTML 片段相比,JSON 提供了更好的簡單性和靈活性。

JSON 數據格式解析

和 XML 一樣,JSON 也是基于純文本的數據格式。由于 JSON 天生是為 JavaScript. 準備的,因此,JSON 的數據格式非常簡單,您可以用 JSON 傳輸一個簡單的 String,Number,Boolean,也可以傳輸一個數組,或者一個復雜的 Object 對象。

String,Number 和 Boolean 用 JSON 表示非常簡單。例如,用 JSON 表示一個簡單的 String “ abc ”,其格式為:

"abc"

除了字符 ",\,/ 和一些控制符(\b,\f,\n,\r,\t)需要編碼外,其他 Unicode 字符可以直接輸出。 

這與絕大多數編程語言的表示方法一致,例如:

  1. 12345(整數)  
  2.  -3.9e10(浮點數)  

Boolean 類型表示為 true 或 false 。此外,JavaScript. 中的 null 被表示為 null,注意,true、false 和 null 都沒有雙引號,否則將被視為一個 String 。

JSON 還可以表示一個數組對象,使用 [] 包含所有元素,每個元素用逗號分隔,元素可以是任意的 Value,例如,以下數組包含了一個 String,Number,Boolean 和一個 null:

["abc",12345,false,null]

Object 對象在 JSON 中是用 {} 包含一系列無序的 Key-Value 鍵值對表示的,實際上此處的 Object 相當于 Java 中的 Map<String, Object>,而不是 Java 的 Class 。注意 Key 只能用 String 表示。

例如,一個 Address 對象包含如下 Key-Value:

  1. city:Beijing   
  2.  street:Chaoyang Road   
  3.  postcode:100025(整數)  

用 JSON 表示如下:

  1. {"city":"Beijing","street":" Chaoyang Road ","postcode":100025}  

其中 Value 也可以是另一個 Object 或者數組,因此,復雜的 Object 可以嵌套表示,例如,一個 Person 對象包含 name 和 address 對象,可以表示如下:

  1. {"name":"Michael","address":  
  2.     {"city":"Beijing","street":" Chaoyang Road ","postcode":100025}  
  3. }  

JavaScript. 處理 JSON 數據

上面介紹了如何用 JSON 表示數據,接下來,我們還要解決如何在服務器端生成 JSON 格式的數據以便發送到客戶端,以及客戶端如何使用 JavaScript. 處理 JSON 格式的數據。

我們先討論如何在 Web 頁面中用 JavaScript. 處理 JSON 數據。我們通過一個簡單的 JavaScript. 方法就能看到客戶端如何將 JSON 數據表示給用戶:

  1. function handleJson() {   
  2.   var j={"name":"Michael","address":  
  3.       {"city":"Beijing","street":" Chaoyang Road ","postcode":100025}  
  4.   };   
  5.   document.write(j.name);   
  6.   document.write(j.address.city);   
  7.  }  

假定服務器返回的 JSON 數據是上文的:

  1. {"name":"Michael","address":  
  2.     {"city":"Beijing","street":" Chaoyang Road ","postcode":100025}  
  3. }  

只需將其賦值給一個 JavaScript. 變量,就可以立刻使用該變量并更新頁面中的信息了,相比 XML 需要從 DOM 中讀取各種節點而言,JSON 的使用非常容易。我們需要做的僅僅是發送一個 Ajax 請求,然后將服務器返回的 JSON 數據賦值給一個變量即可。有許多 Ajax 框架早已包含了處理 JSON 數據的能力,例如 Prototype(一個流行的 JavaScript. 庫:http://prototypejs.org)提供了 evalJSON() 方法,能直接將服務器返回的 JSON 文本變成一個 JavaScript. 變量:

  1. new Ajax.Request("http://url", {   
  2.   method: "get",   
  3.   onSuccess: function(transport) {   
  4.     var json = transport.responseText.evalJSON();   
  5.     // TODO: document.write(json.xxx);   
  6.   }   
  7.  });  

服務器端輸出 JSON 格式數據

下面我們討論如何在服務器端輸出 JSON 格式的數據。以 Java 為例,我們將演示將一個 Java 對象編碼為 JSON 格式的文本。

將 String 對象編碼為 JSON 格式時,只需處理好特殊字符即可。另外,必須用 (") 而非 (') 表示字符串:

  1. static String string2Json(String s) {   
  2.    StringBuilder sb = new StringBuilder(s.length()+20);   
  3.    sb.append('\"');   
  4.    for (int i=0; i<s.length(); i++) {   
  5.        char c = s.charAt(i);   
  6.        switch (c) {   
  7.        case '\"':   
  8.            sb.append("\\\"");   
  9.            break;   
  10.        case '\\':   
  11.            sb.append("\\\\");   
  12.            break;   
  13.        case '/':   
  14.            sb.append("\\/");   
  15.            break;   
  16.        case '\b':   
  17.            sb.append("\\b");   
  18.            break;   
  19.        case '\f':   
  20.            sb.append("\\f");   
  21.            break;   
  22.        case '\n':   
  23.            sb.append("\\n");   
  24.            break;   
  25.        case '\r':   
  26.            sb.append("\\r");   
  27.            break;   
  28.        case '\t':   
  29.            sb.append("\\t");   
  30.            break;   
  31.        default:   
  32.            sb.append(c);   
  33.        }   
  34.    }   
  35.    sb.append('\"');   
  36.    return sb.toString();   
  37. }   
  38.   

將 Number 表示為 JSON 就容易得多,利用 Java 的多態,我們可以處理 Integer,Long,Float 等多種 Number 格式:

  1. static String number2Json(Number number) {   
  2.    return number.toString();   
  3. }   
  4.   

Boolean 類型也可以直接通過 toString() 方法得到 JSON 的表示:

  1. static String boolean2Json(Boolean bool) {   
  2.    return bool.toString();   
  3. }  

要將數組編碼為 JSON 格式,可以通過循環將每一個元素編碼出來:

  1. static String array2Json(Object[] array) {   
  2.    if (array.length==0)   
  3.        return "[]";   
  4.    StringBuilder sb = new StringBuilder(array.length << 4);   
  5.    sb.append('[');   
  6.    for (Object o : array) {   
  7.        sb.append(toJson(o));   
  8.        sb.append(',');   
  9.    }   
  10.    // 將最后添加的 ',' 變為 ']':   
  11.    sb.setCharAt(sb.length()-1, ']');   
  12.    return sb.toString();   
  13. }  

最后,我們需要將 Map<String, Object> 編碼為 JSON 格式,因為 JavaScript. 的 Object 實際上對應的是 Java 的 Map<String, Object> 。該方法如下:

  1. static String map2Json(Map<String, Object> map) {   
  2.    if (map.isEmpty())   
  3.        return "{}";   
  4.    StringBuilder sb = new StringBuilder(map.size() << 4);   
  5.    sb.append('{');   
  6.    Set<String> keys = map.keySet();   
  7.    for (String key : keys) {   
  8.        Object value = map.get(key);   
  9.        sb.append('\"');   
  10.        sb.append(key);   
  11.        sb.append('\"');   
  12.        sb.append(':');   
  13.        sb.append(toJson(value));   
  14.        sb.append(',');   
  15.    }   
  16.    // 將最后的 ',' 變為 '}':   
  17.    sb.setCharAt(sb.length()-1, '}');   
  18.    return sb.toString();   
  19. }  

為了統一處理任意的 Java 對象,我們編寫一個入口方法 toJson(Object),能夠將任意的 Java 對象編碼為 JSON 格式:

  1. public static String toJson(Object o) {   
  2.     if (o==null)   
  3.         return "null";   
  4.     if (o instanceof String)   
  5.         return string2Json((String)o);   
  6.     if (o instanceof Boolean)   
  7.         return boolean2Json((Boolean)o);   
  8.     if (o instanceof Number)   
  9.         return number2Json((Number)o);   
  10.     if (o instanceof Map)   
  11.         return map2Json((Map<String, Object>)o);   
  12.     if (o instanceof Object[])   
  13.         return array2Json((Object[])o);   
  14.     throw new RuntimeException("Unsupported type: " + o.getClass().getName());   
  15.  }  

我們并未對 Java 對象作嚴格的檢查。不被支持的對象(例如 List)將直接拋出 RuntimeException 。此外,為了保證輸出的 JSON 是有效的,Map<String, Object> 對象的 Key 也不能包含特殊字符。細心的讀者可能還會發現循環引用的對象會引發無限遞歸,例如,精心構造一個循環引用的 Map,就可以檢測到 StackOverflowException:

  1. @Test(expected=StackOverflowError.class)   
  2. public void testRecurrsiveMap2Json() {   
  3.    Map<String, Object> map = new HashMap<String, Object>();   
  4.    map.put("key", map);   
  5.    JsonUtil.map2Json(map);   

好在服務器處理的 JSON 數據最終都應該轉化為簡單的 JavaScript. 對象,因此,遞歸引用的可能性很小。

最后,通過 Servlet 或 MVC 框架輸出 JSON 時,需要設置正確的 MIME 類型(application/json)和字符編碼。假定服務器使用 UTF-8 編碼,則可以使用以下代碼輸出編碼后的 JSON 文本:

  1. response.setContentType("application/json;charset=UTF-8");   
  2. response.setCharacterEncoding("UTF-8");   
  3. PrintWriter pw = response.getWriter();   
  4. pw.write(JsonUtil.toJson(obj));   
  5. pw.flush();  

小結

JSON 已經是 JavaScript. 標準的一部分。目前,主流的瀏覽器對 JSON 支持都非常完善。應用 JSON,我們可以從 XML 的解析中擺脫出來,對那些應用 Ajax 的 Web 2.0 網站來說,JSON 確實是目前最靈活的輕量級方案。

JSON是什么,現在您應該了解了吧。

【編輯推薦】

  1. JavaBean到XML和JSON的轉換
  2. 詳談基于JSON的高級AJAX開發技術
  3. JSP實例詳解JavaBean應用步驟
  4. 詳解JSP中調用JavaBean
  5. JSP Servlet JavaBean在jdk6.0 Tomcat6.0下的構建
責任編輯:yangsai 來源: Java技術網
相關推薦

2010-01-06 14:04:55

Json數據格式

2014-08-12 10:15:42

數據格式JSONXML

2018-09-18 11:16:11

MapReduceXML大數據

2013-03-27 10:51:44

iOSjson解析網絡交互數據格式解析

2011-04-11 09:48:59

AjaxWEB服務

2024-04-15 13:13:04

PythonJSON

2010-01-06 13:23:20

JSON數據格式

2024-11-12 12:08:06

JSON數據技巧

2010-06-28 09:09:24

SQL Server

2025-11-18 07:00:00

2021-11-11 23:16:33

前端數據格式Web

2021-04-26 07:51:00

JavaScript方法函數

2010-07-09 10:42:38

HART協議

2010-07-09 10:27:33

SQL Server數

2022-06-05 14:57:35

發送釘釘運維架構

2011-04-11 13:14:58

AjaxWEB服務

2024-12-19 00:12:02

APIJSON數據

2010-01-06 14:08:33

JSON WEB站點

2011-03-07 15:01:42

MySQLXML數據

2019-07-22 08:49:37

PythonJSON編程語言
點贊
收藏

51CTO技術棧公眾號

麻豆国产精品777777在线| 亚洲国产91视频| 国产日韩精品一区二区浪潮av | 亚洲综合欧美| 最近2019好看的中文字幕免费| 毛片毛片毛片毛| av中文字幕在线看| 97超碰欧美中文字幕| 国产精品亚洲综合天堂夜夜| 国产亚洲精品女人久久久久久| 综合亚洲色图| 日韩精品专区在线| 午夜dv内射一区二区| 青春草在线视频| 中文字幕欧美日韩一区| 国产偷久久久精品专区| 国产一区二区在线视频观看| 国产日韩欧美| 欧美日韩第一视频| 成人黄色短视频| 欧美综合自拍| 欧美mv日韩mv国产网站| 天天看片天天操| 日韩美女在线看免费观看| 亚洲一区二区三区小说| 正在播放一区| eeuss影院在线观看| 成人性生交大片免费看视频在线| 国产美女91呻吟求| 欧美男人亚洲天堂| 亚洲人成久久| 欧美劲爆第一页| 91日韩中文字幕| 久久国产成人精品| 一区二区亚洲精品国产| 欧美 日本 国产| 免费成人三级| 亚洲国产女人aaa毛片在线| 午夜影院免费版| 精品自拍视频| 欧美性videosxxxxx| 国产极品美女高潮无套久久久| 国产白丝在线观看| 亚洲一区二区高清| 日韩一级片一区二区| 久操视频在线观看| 国产精品第一页第二页第三页| 日本高清一区| 国产视频第一区| 久久久91精品国产一区二区精品 | 五月天视频一区| 精品少妇人欧美激情在线观看| av观看在线| 亚洲黄色在线视频| 久久香蕉视频网站| 久久不射影院| 精品高清一区二区三区| 久久久久久久午夜| 欧美日韩视频网站| 欧美最新大片在线看| 第四色婷婷基地| 95精品视频| 精品久久久久久久久久久院品网| 无码人妻久久一区二区三区蜜桃| 中文字幕亚洲在线观看| 亚洲国产91色在线| 永久免费看mv网站入口78| 竹菊久久久久久久| 在线电影中文日韩| 色欲一区二区三区精品a片| 欧美日本二区| 欧美影院在线播放| 在线观看免费观看在线| 激情国产一区二区| 国产精华一区| 黄色小视频在线观看| 国产精品免费视频观看| 福利在线小视频| av丝袜在线| 91久久免费观看| 亚洲精品在线视频播放| 国产伦精品一区二区三区在线播放 | 精品在线手机视频| 日韩资源在线观看| 久久成人国产精品入口| 国产亚洲在线观看| 国产一区视频在线| 免费国产精品视频| 欧美国产97人人爽人人喊| 小说区视频区图片区| 成人福利电影| 欧美日韩一区二区三区高清| 日本美女视频网站| 成人羞羞视频播放网站| 欧美大尺度激情区在线播放| 天堂网av手机版| 老色鬼精品视频在线观看播放| 电影午夜精品一区二区三区| 日韩a在线观看| 亚洲丝袜制服诱惑| 逼特逼视频在线| 欧美a在线观看| 亚洲色图偷窥自拍| 国产亚洲精品成人| 美女任你摸久久 | 欧美亚洲国产精品久久| 日韩在线观看免费高清| xxxx.国产| 国产盗摄女厕一区二区三区| 日本一区二区三区视频在线播放| 青青草原国产在线| 69堂精品视频| 亚洲av无码国产精品麻豆天美| 欧美精品三级| 91精品国产综合久久香蕉最新版 | 亚洲AV第二区国产精品| 中文字幕亚洲电影| caopor在线视频| 久久久久久毛片免费看 | 9999精品成人免费毛片在线看 | 欧洲成人免费aa| 亚洲第一天堂影院| 中文字幕综合网| 日本中文字幕精品—区二区| 夜夜躁狠狠躁日日躁2021日韩| 欧美黑人一区二区三区| 国产精品老熟女视频一区二区| 国产婷婷色一区二区三区四区| 免费观看国产精品视频| 午夜日韩影院| 欧美插天视频在线播放| 91精品国产乱码久久久久| 国产日产精品一区| 熟女少妇在线视频播放| 精品国产一区二区三区成人影院| 欧美老女人在线视频| 国产乱色精品成人免费视频 | 亚洲欧美日韩另类精品一区二区三区 | 性色av蜜臀av色欲av| 亚洲狠狠婷婷| 国产精品久久亚洲7777| 亚洲综合影视| 日韩视频免费直播| 黄色一级视频在线观看| 国产综合久久久久久鬼色| 夜夜春亚洲嫩草影视日日摸夜夜添夜| 欧美日韩亚洲国产| 中文亚洲视频在线| 中文字字幕在线中文乱码| 欧美高清在线视频| 欧美美女一级片| 国产精品久久久久久久久久10秀 | 午夜精品在线播放| 一区二区三区色| 亚洲精品鲁一鲁一区二区三区| 国产伊人精品| 国产在线一区二区三区播放| 九色porny自拍视频在线播放| 亚洲第一精品夜夜躁人人躁| 国产精品自拍99| 久久久精品欧美丰满| 亚洲不卡视频在线| 国产精品99在线观看| 亚洲精品欧美日韩专区| 亚洲91av| 日韩麻豆第一页| 欧美视频xxxx| 亚洲嫩草精品久久| 国产精品一区二区人妻喷水| 午夜亚洲激情| 一区二区冒白浆视频| 久久69av| 欧美亚洲另类视频| av亚洲在线| 日韩精品一区二区三区视频播放 | av大片在线| 精品亚洲国产视频| 一级黄色免费片| 亚洲成人你懂的| 无码人妻精品一区二区中文| 久久国产麻豆精品| 日韩精品福利片午夜免费观看| 国产精品白丝av嫩草影院| 日本久久久久亚洲中字幕| 丝袜美腿美女被狂躁在线观看| 日韩女优av电影在线观看| 毛片在线免费视频| 国产精品国产精品国产专区不片| 亚洲精品鲁一鲁一区二区三区 | 国产精品久久占久久| 国产精品v欧美精品∨日韩| 日韩国产激情| 欧美xxxx18性欧美| 国产精品秘入口| 日韩精品一区二区三区swag| 69亚洲精品久久久蜜桃小说| 亚洲视频一区在线| 美国黄色a级片| 国产福利一区二区三区| aa免费在线观看| 一区二区免费不卡在线| 欧美凹凸一区二区三区视频| 精品中文字幕一区二区三区| 欧美一区二区三区免费视| 国产网友自拍视频导航网站在线观看| 日韩精品视频免费| 精品久久久中文字幕人妻| 欧美中文字幕亚洲一区二区va在线 | 国产成人av网址| 大桥未久在线播放| 久久精品这里热有精品| 国产黄在线观看免费观看不卡| 精品久久久久久久久久久久久久久久久 | 麻豆精品在线播放| 欧美性大战久久久久xxx | 欧美高清电影在线看| 丁香婷婷在线| 日韩激情av在线播放| 超碰在线播放97| 欧美日韩的一区二区| 天堂网中文字幕| 有码一区二区三区| 中文字幕乱码av| 国产欧美日韩中文久久| 醉酒壮男gay强迫野外xx| 国产成a人亚洲| 男插女视频网站| 精彩视频一区二区| 色噜噜狠狠一区二区| 日韩影院免费视频| 动漫av网站免费观看| 国产偷自视频区视频一区二区| 岛国大片在线播放| 韩国欧美一区| 日本香蕉视频在线观看| 欧美激情性爽国产精品17p| 中文精品一区二区三区| 首页国产精品| 一区二区三区四区免费视频| 日本在线电影一区二区三区| 日韩一区不卡| 久久久综合色| 伊人情人网综合| 久久亚洲专区| 三年中国中文在线观看免费播放| 久久一本综合| 日本不卡一区二区三区四区| 91久久国产| 黄色录像特级片| 激情久久久久久| 精品国产一区三区| 亚洲一区免费| 天天碰免费视频| 久久99在线观看| 日本77777| 国产成人在线视频播放| 丰满少妇xbxb毛片日本| av在线这里只有精品| 中文字幕在线观看网址| 久久久久国色av免费看影院| 成人在线一级片| 国产精品久久福利| 日韩影院一区二区| 午夜精品久久久久久久久久久 | 欧美成人一区二区三区片免费| www日本高清| 亚洲黄色www| 蜜桃免费在线| 北条麻妃一区二区三区中文字幕| а√中文在线8| 欧美日韩福利视频| 日韩av一卡| 国产在线不卡精品| 国产精品国产| 水蜜桃亚洲精品| 欧美日韩p片| 男女视频一区二区三区| 久久精品国产**网站演员| 久久久久无码精品| 久久综合九色综合久久久精品综合| 精品亚洲aⅴ无码一区二区三区| 亚洲图片你懂的| www..com国产| 欧美精品第一页| 凸凹人妻人人澡人人添| 尤物精品国产第一福利三区 | 青草热久免费精品视频| 福利一区在线| 国产精品推荐精品| 日韩精品第一区| 六月婷婷在线视频| 美女看a上一区| 亚洲国产果冻传媒av在线观看| 国产精品理论在线观看| 日韩大片免费在线观看| 欧美色图在线观看| 天天射天天色天天干| 久久五月情影视| 麻豆理论在线观看| 国产欧美日韩视频| 成人线上播放| 五月天男人天堂| 免费人成网站在线观看欧美高清| 欧美一级片在线免费观看| 中文字幕av一区二区三区免费看| 日本a在线观看| 51精品秘密在线观看| 国产小视频在线| 97免费在线视频| 一区二区三区四区视频免费观看| 日韩国产在线一区| 国产偷自视频区视频一区二区| 国产老头和老头xxxx×| 欧美激情在线一区二区| 亚洲免费在线观看av| 精品欧美一区二区在线观看| 欧美激情午夜| 国产精品第一页在线| 欧美一级三级| 国产精彩视频一区二区| 国产精品91xxx| 久草综合在线视频| 欧美三级欧美一级| yourporn在线观看中文站| 欧美怡红院视频一区二区三区| 国产suv精品一区| 国产女教师bbwbbwbbw| 精品一区精品二区高清| 国产无遮挡在线观看| 欧洲精品视频在线观看| 内衣办公室在线| 奇米四色中文综合久久| 少妇高潮一区二区三区| 成人性免费视频| 丁香啪啪综合成人亚洲小说| 麻豆国产尤物av尤物在线观看| 5858s免费视频成人| 毛片在线播放a| 91久久精品日日躁夜夜躁国产| 久久人体视频| 亚洲制服中文字幕| 亚洲视频中文字幕| 国产精品久久影视| 欧美成人合集magnet| 久久伊人久久| 17c丨国产丨精品视频| 成人午夜短视频| 国产精品111| 精品网站999www| 最新日韩三级| 亚洲精品人成| 国产一区二区三区久久久| 欧美在线视频第一页| 欧美大胆一级视频| 狠狠操一区二区三区| 欧美精品在线一区| 日韩1区2区日韩1区2区| 一级片一级片一级片| 日韩午夜小视频| 黄在线观看免费网站ktv| 久久免费一区| 免费av网站大全久久| 麻豆精品少妇| 国产精品久久在线观看| 成人女性视频| www.日本久久| 亚洲一区二区av电影| 天天干天天爱天天操| 日韩av电影在线免费播放| 精品一区二区三| 午夜视频在线网站| 亚洲一区二区三区在线看| 熟妇高潮一区二区三区| 国产精品电影观看| 亚洲精品一二三区区别| 国产婷婷在线观看| 色欧美乱欧美15图片| 巨大荫蒂视频欧美另类大| 97久久天天综合色天天综合色hd | www.亚洲天堂网| 国产精品久久看| 亚洲精品第五页| 国产91在线播放| 91成人精品| 草草地址线路①屁屁影院成人| 欧美日韩中文另类| 不卡一本毛片| 亚欧洲精品在线视频免费观看| 国产精品99久久久久久有的能看 | 亚久久调教视频| 亚洲女人久久久| 亚洲国产欧美自拍| 欧洲精品久久久久毛片完整版| 成人午夜免费在线| 国产精品女人毛片| 天天综合在线视频| 91在线中文字幕| 日韩在线a电影| 亚洲欧美在线观看视频| 久久精品99无色码中文字幕|