日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

使用JAXB和Jackson从XSD生成JSON模式

發布時間:2023/12/3 javascript 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用JAXB和Jackson从XSD生成JSON模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在本文中,我演示了一種從XML Schema (XSD)生成JSON Schema的 方法 。 在概述從XML Schema創建JSON Schema的方法的同時,本文還演示了JAXB實現的用法(與JDK 9捆綁在一起的xjc版本2.2.12-b150331.1824 [build 1.9.0-ea-b68])和JSON / Java綁定實現的說明( 杰克遜 2.5.4)。

從XSD生成JSON模式的這種方法的步驟可以概括為:

  • 應用JAXB的xjc編譯器從XML Schema(XSD)生成Java類。
  • 應用Jackson來從JAXB生成的Java類生成JSON模式。
  • 使用JAXB的xjc從XSD生成Java類

    為了便于討論,我將使用我先前的博客文章A JAXB Nuance:字符串與枚舉受限XSD字符串中的枚舉使用的簡單Food.xsd 。 為了方便起見,我在此處重現了該簡單模式,但沒有特定于先前博客文章的XML注釋:

    Food.xsd

    <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"xmlns:dustin="http://marxsoftware.blogspot.com/foodxml"targetNamespace="http://marxsoftware.blogspot.com/foodxml"elementFormDefault="qualified"attributeFormDefault="unqualified"><xs:element name="Food"><xs:complexType><xs:sequence><xs:element name="Vegetable" type="dustin:Vegetable" /><xs:element ref="dustin:Fruit" /><xs:element name="Dessert" type="dustin:Dessert" /></xs:sequence></xs:complexType></xs:element><xs:simpleType name="Vegetable"><xs:restriction base="xs:string"><xs:enumeration value="Carrot"/><xs:enumeration value="Squash"/><xs:enumeration value="Spinach"/><xs:enumeration value="Celery"/></xs:restriction></xs:simpleType><xs:element name="Fruit"><xs:simpleType><xs:restriction base="xs:string"><xs:enumeration value="Watermelon"/><xs:enumeration value="Apple"/><xs:enumeration value="Orange"/><xs:enumeration value="Grape"/></xs:restriction></xs:simpleType></xs:element><xs:simpleType name="Dessert"><xs:restriction base="xs:string"><xs:enumeration value="Pie"/><xs:enumeration value="Cake"/><xs:enumeration value="Ice Cream"/></xs:restriction></xs:simpleType></xs:schema>

    使用JDK提供的JAXB實現提供的xjc命令行工具很容易生成與此XSD對應的Java類。 下一個屏幕快照使用以下命令顯示了此過程:

    xjc -d jaxb。\ Food.xsd

    這個簡單的命令生成與提供的Food.xsd相對應的Java類,并將這些類放置在指定的“ jaxb”子目錄中。

    用Jackson從JAXB生成的類生成JSON

    使用現在可用的JAXB生成的類,可以將Jackson應用于這些類以從Java類生成JSON。 杰克遜在其主門戶頁面上被描述為“一個用于處理的多功能Java庫”,“受到Java平臺可用的XML工具的質量和多樣性的啟發。” Jackson的存在以及類似的框架和庫似乎是Oracle從Java SE 9中 刪除 JEP 198 (“輕型JSON API”)的原因之一。 [值得注意的是, Java EE 7已經通過其JSR 353 (“與JSON處理有關的Java API”)的實現實現了內置的JSON支持 ,而該JSR 353與JEP 198無關。)

    將Jackson應用于從我們的JAXB生成的Java類生成JSON的第一步就是獲取并配置Jackson的ObjectMapper類的實例。 下一個代碼清單顯示了實現此目的的一種方法。

    獲取和配置用于JAXB序列化/反序列化的Jackson ObjectMapper

    /*** Create instance of ObjectMapper with JAXB introspector* and default type factory.** @return Instance of ObjectMapper with JAXB introspector* and default type factory.*/ private ObjectMapper createJaxbObjectMapper() {final ObjectMapper mapper = new ObjectMapper();final TypeFactory typeFactory = TypeFactory.defaultInstance();final AnnotationIntrospector introspector = new JaxbAnnotationIntrospector(typeFactory);// make deserializer use JAXB annotations (only)mapper.getDeserializationConfig().with(introspector);// make serializer use JAXB annotations (only)mapper.getSerializationConfig().with(introspector);return mapper; }

    上面的代碼清單演示了如何獲取Jackson的ObjectMapper實例并將其配置為使用默認類型的工廠和面向JAXB的注釋自檢器。

    在實例化并正確配置了Jackson ObjectMapper情況下,很容易使用該ObjectMapper實例從生成的JAXB類生成JSON。 下一個代碼清單中演示了使用不推薦使用的Jackson類JsonSchema實現此目的的一種方法。

    使用不推薦使用的com.fasterxml.jackson.databind.jsonschema.JsonSchema類從Java類生成JSON

    /*** Write JSON Schema to standard output based upon Java source* code in class whose fully qualified package and class name* have been provided.** @param mapper Instance of ObjectMapper from which to* invoke JSON schema generation.* @param fullyQualifiedClassName Name of Java class upon* which JSON Schema will be extracted.*/ private void writeToStandardOutputWithDeprecatedJsonSchema(final ObjectMapper mapper, final String fullyQualifiedClassName) {try{final JsonSchema jsonSchema = mapper.generateJsonSchema(Class.forName(fullyQualifiedClassName));out.println(jsonSchema);}catch (ClassNotFoundException cnfEx){err.println("Unable to find class " + fullyQualifiedClassName);}catch (JsonMappingException jsonEx){err.println("Unable to map JSON: " + jsonEx);} }

    上面清單中的代碼實例化獲取提供的Java類的類定義(在我的示例中由JAXB xjc編譯器生成的最高級別的Food類),并將對該JAXB生成的類的引用傳遞給ObjectMapper的generateJsonSchema(Class < ?>)方法。 不推薦使用的JsonSchema類的toString()實現非常有用,并且可以輕松寫出從JAXB生成的類生成的JSON。

    為了進行演示,我將演示驅動程序作為main(String [])函數提供。 在下一個代碼清單中提供了該函數以及到目前為止的整個類(包括上面顯示的方法)。

    JsonGenerationFromJaxbClasses.java,版本1

    package dustin.examples.jackson;import com.fasterxml.jackson.databind.AnnotationIntrospector; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.type.TypeFactory; import com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector;import com.fasterxml.jackson.databind.jsonschema.JsonSchema;import static java.lang.System.out; import static java.lang.System.err;/*** Generates JavaScript Object Notation (JSON) from Java classes* with Java API for XML Binding (JAXB) annotations.*/ public class JsonGenerationFromJaxbClasses {/*** Create instance of ObjectMapper with JAXB introspector* and default type factory.** @return Instance of ObjectMapper with JAXB introspector* and default type factory.*/private ObjectMapper createJaxbObjectMapper(){final ObjectMapper mapper = new ObjectMapper();final TypeFactory typeFactory = TypeFactory.defaultInstance();final AnnotationIntrospector introspector = new JaxbAnnotationIntrospector(typeFactory);// make deserializer use JAXB annotations (only)mapper.getDeserializationConfig().with(introspector);// make serializer use JAXB annotations (only)mapper.getSerializationConfig().with(introspector);return mapper;}/*** Write out JSON Schema based upon Java source code in* class whose fully qualified package and class name have* been provided.** @param mapper Instance of ObjectMapper from which to* invoke JSON schema generation.* @param fullyQualifiedClassName Name of Java class upon* which JSON Schema will be extracted.*/private void writeToStandardOutputWithDeprecatedJsonSchema(final ObjectMapper mapper, final String fullyQualifiedClassName){try{final JsonSchema jsonSchema = mapper.generateJsonSchema(Class.forName(fullyQualifiedClassName));out.println(jsonSchema);}catch (ClassNotFoundException cnfEx){err.println("Unable to find class " + fullyQualifiedClassName);}catch (JsonMappingException jsonEx){err.println("Unable to map JSON: " + jsonEx);}}/*** Accepts the fully qualified (full package) name of a* Java class with JAXB annotations that will be used to* generate a JSON schema.** @param arguments One argument expected: fully qualified* package and class name of Java class with JAXB* annotations.*/public static void main(final String[] arguments){if (arguments.length < 1){err.println("Need to provide the fully qualified name of the highest-level Java class with JAXB annotations.");System.exit(-1);}final JsonGenerationFromJaxbClasses instance = new JsonGenerationFromJaxbClasses();final String fullyQualifiedClassName = arguments[0];final ObjectMapper objectMapper = instance.createJaxbObjectMapper();instance.writeToStandardOutputWithDeprecatedJsonSchema(objectMapper, fullyQualifiedClassName);} }

    要針對基于Food.xsd的JAXB的xjc生成的Java類運行此相對通用的代碼,我需要提供最高級別生成的類的標準軟件包名稱和類名稱。 在這種情況下,這就是com.blogspot.marxsoftware.foodxml.Food (程序包名稱基于XSD的名稱空間,因為在運行xjc時我沒有明確覆蓋它)。 當我使用完全限定的類名以及類路徑上的JAXB類和Jackson庫運行上述代碼時,我看到以下JSON寫入了標準輸出。

    生成的JSON

    {"type":"object","properties":{"vegetable":{"type":"string","enum":["CARROT","SQUASH","SPINACH","CELERY"]},"fruit":{"type":"string"},"dessert":{"type":"string","enum":["PIE","CAKE","ICE_CREAM"]}}}

    人類(包括許多開發人員)比打印的JSON更喜歡漂亮的打印 。 我們可以調整演示類的方法writeToStandardOutputWithDeprecatedJsonSchema(ObjectMapper, String) ,如下所示,以寫出縮進的JSON ,以更好地反映其層次結構性質。 接下來顯示此修改的方法。

    修改了writeToStandardOutputWithDeprecatedJsonSchema(ObjectMapper,String)以寫入縮進的JSON

    /*** Write out indented JSON Schema based upon Java source* code in class whose fully qualified package and class* name have been provided.** @param mapper Instance of ObjectMapper from which to* invoke JSON schema generation.* @param fullyQualifiedClassName Name of Java class upon* which JSON Schema will be extracted.*/ private void writeToStandardOutputWithDeprecatedJsonSchema(final ObjectMapper mapper, final String fullyQualifiedClassName) {try{final JsonSchema jsonSchema = mapper.generateJsonSchema(Class.forName(fullyQualifiedClassName));out.println(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(jsonSchema));}catch (ClassNotFoundException cnfEx){err.println("Unable to find class " + fullyQualifiedClassName);}catch (JsonMappingException jsonEx){err.println("Unable to map JSON: " + jsonEx);}catch (JsonProcessingException jsonEx){err.println("Unable to process JSON: " + jsonEx);} }

    當我使用此修改后的方法再次運行演示類時,JSON輸出在美學上更加令人愉悅:

    生成帶有縮進通信層次結構的JSON

    {"type" : "object","properties" : {"vegetable" : {"type" : "string","enum" : [ "CARROT", "SQUASH", "SPINACH", "CELERY" ]},"fruit" : {"type" : "string"},"dessert" : {"type" : "string","enum" : [ "PIE", "CAKE", "ICE_CREAM" ]}} }

    我在這篇文章中一直在使用Jackson 2.5.4。 com.fasterxml.jackson. databind .jsonschema.JsonSchema類com.fasterxml.jackson. databind .jsonschema.JsonSchema 該版本不建議使用com.fasterxml.jackson. databind .jsonschema.JsonSchema ,并帶有以下注釋:“從2.2開始,我們建議使用外部JSON Schema生成器模塊 。” 鑒于此,我現在看一下使用新的首選方法( Jackson JSON Schema Module方法)。

    最顯著的變化是使用JsonSchema在類com.fasterxml.jackson.module.jsonSchema包,而不是使用JsonSchema在類com.fasterxml.jackson.databind.jsonschema包。 獲取這些不同版本的JsonSchema類的實例的方法也不同。 下一個代碼清單演示了如何使用更新的首選方法從Java類生成JSON。

    使用Jackson的更新和首選com.fasterxml.jackson.module.jsonSchema.JsonSchema

    /*** Write out JSON Schema based upon Java source code in* class whose fully qualified package and class name have* been provided. This method uses the newer module JsonSchema* class that replaces the deprecated databind JsonSchema.** @param fullyQualifiedClassName Name of Java class upon* which JSON Schema will be extracted.*/ private void writeToStandardOutputWithModuleJsonSchema(final String fullyQualifiedClassName) {final SchemaFactoryWrapper visitor = new SchemaFactoryWrapper();final ObjectMapper mapper = new ObjectMapper();try{mapper.acceptJsonFormatVisitor(mapper.constructType(Class.forName(fullyQualifiedClassName)), visitor);final com.fasterxml.jackson.module.jsonSchema.JsonSchema jsonSchema = visitor.finalSchema();out.println(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(jsonSchema));}catch (ClassNotFoundException cnfEx){err.println("Unable to find class " + fullyQualifiedClassName);}catch (JsonMappingException jsonEx){err.println("Unable to map JSON: " + jsonEx);}catch (JsonProcessingException jsonEx){err.println("Unable to process JSON: " + jsonEx);} }

    下表將兩個Jackson JsonSchema類的用法與左側較早顯示的已棄用方法進行了比較(為該比較進行了一些調整),并在右側推薦了較新的方法。 兩者針對要從其編寫JSON的相同給定Java類生成相同的輸出。

    /*** Write out JSON Schema based upon Java source code in* class whose fully qualified package and class name have* been provided. This method uses the deprecated JsonSchema* class in the "databind.jsonschema" package* {@see com.fasterxml.jackson.databind.jsonschema}.** @param fullyQualifiedClassName Name of Java class upon* which JSON Schema will be extracted.*/ private void writeToStandardOutputWithDeprecatedDatabindJsonSchema(final String fullyQualifiedClassName) {final ObjectMapper mapper = new ObjectMapper();try{final com.fasterxml.jackson.databind.jsonschema.JsonSchema jsonSchema =mapper.generateJsonSchema(Class.forName(fullyQualifiedClassName));out.println(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(jsonSchema));}catch (ClassNotFoundException cnfEx){err.println("Unable to find class " + fullyQualifiedClassName);}catch (JsonMappingException jsonEx){err.println("Unable to map JSON: " + jsonEx);}catch (JsonProcessingException jsonEx){err.println("Unable to process JSON: " + jsonEx);} }/*** Write out JSON Schema based upon Java source code in* class whose fully qualified package and class name have* been provided. This method uses the newer module JsonSchema* class that replaces the deprecated databind JsonSchema.** @param fullyQualifiedClassName Name of Java class upon* which JSON Schema will be extracted.*/ private void writeToStandardOutputWithModuleJsonSchema(final String fullyQualifiedClassName) {final SchemaFactoryWrapper visitor = new SchemaFactoryWrapper();final ObjectMapper mapper = new ObjectMapper();try{mapper.acceptJsonFormatVisitor(mapper.constructType(Class.forName(fullyQualifiedClassName)), visitor);final com.fasterxml.jackson.module.jsonSchema.JsonSchema jsonSchema = visitor.finalSchema();out.println(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(jsonSchema));}catch (ClassNotFoundException cnfEx){err.println("Unable to find class " + fullyQualifiedClassName);}catch (JsonMappingException jsonEx){err.println("Unable to map JSON: " + jsonEx);}catch (JsonProcessingException jsonEx){err.println("Unable to process JSON: " + jsonEx);} }

    這篇博客文章展示了兩種方法,這些方法使用由Jackson提供的名稱為JsonSchema的類的不同版本來基于從具有JAXB的xjc的XSD生成的Java類編寫JSON。 本文中演示的整個過程是一種從XML Schema生成JSON Schema的方法。

    翻譯自: https://www.javacodegeeks.com/2015/06/generating-json-schema-from-xsd-with-jaxb-and-jackson.html

    總結

    以上是生活随笔為你收集整理的使用JAXB和Jackson从XSD生成JSON模式的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    国产精品初高中精品久久 | 日日夜夜精品免费 | 国产在线播放观看 | 亚洲va天堂va欧美ⅴa在线 | 欧美激情综合网 | 97狠狠干 | 欧美色图亚洲图片 | adn—256中文在线观看 | 九九久久久久久久久激情 | 国产免费亚洲高清 | 最新免费av在线 | 国产一区二区高清 | 手机看片福利 | 香蕉视频最新网址 | 久久激情电影 | 久热超碰| 国内揄拍国内精品 | 欧美精品久久久久久久久久白贞 | 中文字幕在线观看视频一区 | 九九热国产 | 亚洲欧洲精品一区二区精品久久久 | 日韩激情影院 | 美女久久久久久久久久久 | 成人国产精品免费观看 | 国产九九热视频 | 国产综合在线观看视频 | 91免费观看 | 国产精品一区二 | 国产精品淫 | 久久免费高清视频 | 99久热在线精品视频成人一区 | 99热精品在线 | 九九久久电影 | 91女神的呻吟细腰翘臀美女 | 国产精品a成v人在线播放 | 欧美在线free | 国产成人一区二区啪在线观看 | www.看片网站 | 美女一区网站 | 日韩动漫免费观看高清完整版在线观看 | 日韩免费一区二区在线观看 | 久久精品国产亚洲aⅴ | 人人舔人人爱 | 一区二区三区中文字幕在线观看 | 波多野结衣在线观看一区二区三区 | 亚州av成人 | 视频在线一区二区三区 | 亚洲自拍偷拍色图 | 日韩欧美视频一区二区三区 | 啪啪精品 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 久久网站最新地址 | 国产成人精品一区一区一区 | 国产一级不卡视频 | 欧美国产一区二区 | 国产中文伊人 | 精品视频一区在线 | 欧美日本一二三 | 婷婷亚洲综合 | 欧美国产一区在线 | 天天色天天操天天爽 | 亚洲精品视频播放 | 午夜视频在线观看网站 | 日本精品一区二区 | 一区二区视频播放 | 久久九九免费 | 免费又黄又爽视频 | 久久久精品网站 | 69视频网站 | 日韩高清免费观看 | 手机在线观看国产精品 | 久精品视频免费观看2 | 国产精品福利在线 | 久操视频在线免费看 | 在线一区av| 国产99久久久国产精品成人免费 | 国产视频精品久久 | 国产小视频网站 | 亚洲va欧美va | 91在线视频免费 | 午夜三级在线 | 日本久久久影视 | av片在线看 | 日韩激情视频在线 | 欧美一级性视频 | 深夜国产福利 | 中文字幕一区二区三区四区 | 97精产国品一二三产区在线 | 日韩欧美综合 | 中文字幕在线国产精品 | 九色精品免费永久在线 | 日韩免费在线看 | 亚洲人成人在线 | 国产日韩精品一区二区 | 久久综合婷婷国产二区高清 | 国产精品国产三级国产 | 热久久国产精品 | 国产高清免费在线观看 | 麻豆系列在线观看 | 国内精品久久久久久久久久清纯 | www.少妇| 免费一级日韩欧美性大片 | 亚洲人成在线电影 | 亚洲国产精品一区二区久久hs | 中文字幕日韩一区二区三区不卡 | a级国产毛片 | 午夜黄色大片 | 91九色蝌蚪在线 | 国产精品久久久久久久久久新婚 | 日韩肉感妇bbwbbwbbw | 91看片淫黄大片一级在线观看 | 探花视频在线版播放免费观看 | 久久五月精品 | 欧美影片 | 色婷婷www| av在线日韩 | 人人爽人人片 | 亚洲精品裸体 | 正在播放亚洲精品 | 亚洲精品视频在线 | 精品国产一区二区三区在线观看 | 超碰在线公开 | 91在线看视频免费 | 右手影院亚洲欧美 | 在线观看免费版高清版 | 久久亚洲影视 | 天天操天天综合网 | 久久精品一区二区三区中文字幕 | 久久一区二区三区超碰国产精品 | 有码中文字幕在线观看 | 久久免费精品一区二区三区 | 婷婷中文在线 | 成人久久毛片 | 国产成人精品在线 | 久久乱码卡一卡2卡三卡四 五月婷婷久 | 日韩va在线观看 | av青草 | 欧美日韩国产精品一区二区 | 成人在线观看网址 | 00av视频| 在线观看av片 | 国产精品一区二区三区在线看 | 国产成人精品综合久久久 | 国产不卡免费视频 | 久久在线精品视频 | 四虎在线免费视频 | 九九爱免费视频在线观看 | 欧美视频在线观看免费网址 | 国产精品白浆视频 | 亚洲国产精品99久久久久久久久 | 成人啪啪18免费游戏链接 | 国产成人高清av | 岛国av在线不卡 | 99国产在线视频 | 免费精品人在线二线三线 | 一本一本久久a久久精品综合妖精 | 中文字幕在线观看91 | 日本中文字幕视频 | 久久永久免费视频 | 久久国产精品小视频 | 婷婷日日 | 99这里只有精品视频 | 福利视频区| 国产精品视频永久免费播放 | 9色在线视频 | 久久呀 | 五月综合激情 | 日韩高清一二区 | 久久精品伊人 | 四虎国产视频 | 亚洲一区美女视频在线观看免费 | 免费中文字幕 | 久久9999久久免费精品国产 | 国产精品99蜜臀久久不卡二区 | 日韩视频欧美视频 | 国产黄色片免费观看 | av无限看 | 97精品超碰一区二区三区 | 免费中文字幕在线观看 | 亚洲天天摸日日摸天天欢 | 日韩伦理一区二区三区av在线 | 97在线看 | 日韩中文字幕国产精品 | 久久成人麻豆午夜电影 | 婷婷综合在线 | 热久精品 | 精品美女久久久久久免费 | 久久综合五月婷婷 | 天天操夜夜曰 | 精品久久精品 | 最新日韩中文字幕 | 国产小视频福利在线 | 成人av午夜 | 中文字幕日韩av | 国产视频一区二区在线 | 国产精品一区二区久久久久 | 久久久久久久久久久久久国产精品 | 日韩极品视频在线观看 | 亚洲精品理论片 | 日韩资源在线播放 | 久久国内精品99久久6app | 激情欧美丁香 | 在线欧美日韩 | 国产视频一区在线免费观看 | 国产精品美女999 | 日本高清中文字幕有码在线 | 久久毛片网| 久草热视频 | 精品国产理论片 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 婷婷www| 日韩免费在线网站 | 婷婷色中文网 | 女人18片毛片90分钟 | 制服丝袜亚洲 | 一区二区三区免费在线播放 | 国产操在线 | 国产成人黄色在线 | 久视频在线 | 国产视频一区二区三区在线 | 国产尤物视频在线 | 热re99久久精品国产66热 | 欧美中文字幕第一页 | www免费在线观看 | 亚洲天天在线 | 日本精品中文字幕在线观看 | 999久久久国产精品 高清av免费观看 | 久草久热| 91少妇精拍在线播放 | 亚洲人在线 | 亚洲午夜精品一区二区三区电影院 | 国产成人精品亚洲日本在线观看 | 丁香5月婷婷久久 | 国产黄色片久久 | 97超级碰碰碰碰久久久久 | 久久99国产精品免费 | 国产99久久精品一区二区永久免费 | 精品久久久久久亚洲综合网站 | 亚洲国产精品电影 | 探花视频在线观看 | 国产精品女 | 国产成人精品一区二区三区在线观看 | 99久久www | 免费国产在线精品 | 99这里精品| 国产福利一区二区三区视频 | 午夜视频在线观看欧美 | 黄色动态图xx | 在线观看成人 | 69人人| 深夜福利视频一区二区 | 国产黄色精品网站 | 高清一区二区三区av | 久久精品中文 | 日韩av在线不卡 | 欧美在线视频一区二区三区 | 天天干,夜夜爽 | 欧美性免费 | 免费三级骚| 亚洲精品美女久久久 | 9热精品| 日韩中文字幕视频在线 | 亚洲免费不卡 | 91xav| 日本黄色免费网站 | 欧美国产高清 | 91av片 | 狠狠狠色丁香综合久久天下网 | 国产精品福利视频 | 天天干婷婷 | 1024手机看片国产 | 91禁在线看| 久久网页 | 精品国产伦一区二区三区观看体验 | 久久久久久久综合色一本 | 96国产精品视频 | 综合黄色网 | 欧美高清成人 | 玖玖在线资源 | 五月花丁香婷婷 | 国产精品9999久久久久仙踪林 | avsex| 亚洲一区二区三区四区在线视频 | 久久不射网站 | 91精品国产欧美一区二区成人 | 久久精品免费播放 | 日韩欧美在线高清 | av手机版| 亚洲国产最新 | 在线看片一区 | 99精品国产高清在线观看 | 国产精品视频一二三 | 久草久视频 | 91丨九色丨91啦蝌蚪老版 | 日韩精品中文字幕在线 | 激情丁香综合 | 日韩精品免费在线观看视频 | 免费黄色激情视频 | 六月丁香婷婷久久 | 免费下载高清毛片 | 久久精品国产免费看久久精品 | 亚洲免费专区 | 欧美一级激情 | 久久精品毛片基地 | 五月开心综合 | 国产手机在线 | 成人久久电影 | 亚洲欧洲国产视频 | 欧美亚洲成人免费 | 激情婷婷在线 | www.夜夜夜 | 91麻豆精品国产91久久久久久 | 久久草av| 国产免费二区 | 亚洲成人精品av | 久久成 | 九九精品视频在线观看 | av电影免费 | 亚洲成人免费在线观看 | 操操操综合 | 天天干天天弄 | 日韩剧 | 欧美乱淫视频 | 亚洲日本黄色 | 不卡在线一区 | 欧美日韩观看 | 国产亚洲免费的视频看 | 国产精品第72页 | 久久久久 免费视频 | 九热在线 | 免费三级a | 九九免费在线观看视频 | 99 精品 在线 | 免费看一级 | 国产精品高清免费在线观看 | 超碰成人免费电影 | 在线观看mv的中文字幕网站 | 色偷偷人人澡久久超碰69 | 99久久精品无码一区二区毛片 | 精品在线播放 | 亚洲黄色av网址 | 五月天丁香 | 999在线精品 | 久久综合综合久久综合 | 亚洲日本中文字幕在线观看 | 亚洲全部视频 | 黄av在线 | 97人人超碰在线 | 欧美亚洲国产日韩 | 二区三区在线视频 | 超碰在线天天 | 中文字幕乱在线伦视频中文字幕乱码在线 | 成人91在线 | 日韩久久精品一区二区 | 激情av综合 | 日本成址在线观看 | 午夜精品一区二区三区在线观看 | 婷婷免费在线视频 | 免费在线观看毛片网站 | 日韩精品一区二区三区免费观看视频 | 免费亚洲成人 | 蜜臀av夜夜澡人人爽人人 | 男女免费av | 97看片吧 | 999ZYZ玖玖资源站永久 | 中文字幕久久网 | 国产成人在线综合 | 天天爽天天摸 | 日日操天天操夜夜操 | 91豆麻精品91久久久久久 | 国产亚洲成人网 | 亚洲理论片在线观看 | 亚洲男人天堂a | 免费看一级片 | 色网站在线免费观看 | 亚洲精品视频在 | 国产在线a不卡 | 久久免费黄色网址 | 天天综合色 | 成片免费观看视频999 | 午夜色站| 超碰在线98 | 欧美日韩国产一区二区在线观看 | 成人h视频在线 | 亚洲视频在线观看网站 | 97人人添人澡人人爽超碰动图 | 成人黄色毛片视频 | 一级一片免费视频 | 国产一级免费视频 | 国内精品在线一区 | 日韩一区二区三免费高清在线观看 | 999久久久免费视频 午夜国产在线观看 | 日韩免费专区 | 久久国产影院 | 中文字幕av免费 | 天天操网| 色www.| 最近最新中文字幕 | 香蕉精品视频在线观看 | www.午夜色.com| 玖玖玖国产精品 | 亚洲综合在 | 97人人澡人人添人人爽超碰 | 亚洲国产中文在线观看 | 日本护士三级少妇三级999 | 久久激情五月丁香伊人 | 一级成人网| 男女全黄一级一级高潮免费看 | 亚洲国产精品500在线观看 | 成人av网址大全 | 国产美女视频一区 | 精品视频亚洲 | 91精品推荐| 久久久久久久亚洲精品 | 激情五月视频 | 玖玖国产精品视频 | 国产成人专区 | 久久8| 久久久久久久精 | 亚洲资源片 | 最近免费在线观看 | 国产日韩欧美在线观看视频 | 久久久999免费视频 日韩网站在线 | 久久精品视频国产 | 天天爽天天射 | 亚洲精品久久久蜜桃直播 | 欧洲精品二区 | 亚洲精品视频免费在线观看 | 久久婷婷开心 | 超碰免费97 | 色婷婷午夜 | 中文在线a天堂 | 国产精品99久久久久久武松影视 | 日本二区三区在线 | 麻豆视频在线免费观看 | 九九热精品视频在线播放 | 在线观看亚洲电影 | 亚洲精品小视频 | 免费a网 | 久久九九久久精品 | 丁香 久久 综合 | 伊人中文网 | 91久久国产自产拍夜夜嗨 | 国产九九在线 | 日日干日日 | 久久99在线观看 | 精品久久网| 中文字幕一区二区三区乱码不卡 | 国产精品国产三级国产专区53 | 免费又黄又爽 | 亚洲理论片 | 日韩欧美在线不卡 | 久久成年人 | 99久久婷婷国产精品综合 | 亚洲欧美精品一区 | 久久久片 | 天天爽夜夜操 | 美女av免费看 | 一区二区精品久久 | 免费av网站在线看 | 视频在线99 | 欧美日韩aaaa | 国产亚洲精品久久久久久大师 | 热久久最新地址 | 亚洲三级黄 | 中文字幕欧美三区 | 天天爽综合网 | 日韩天天操 | 精品国产一区二区三区久久久久久 | 91九色蝌蚪国产 | www夜夜| 色综合婷婷 | 天天爱天天射天天干天天 | 樱空桃av | 亚洲一区二区三区精品在线观看 | 在线亚洲天堂网 | 一区二区三区在线不卡 | 亚洲激情视频在线观看 | 欧美日韩在线网站 | 欧美小视频在线观看 | 去干成人网 | 国产成人99av超碰超爽 | 一级a性色生活片久久毛片波多野 | 天天干,天天操 | 96av麻豆蜜桃一区二区 | 日韩精品一区二区三区外面 | 久久99影院 | 国产日本亚洲高清 | 久亚洲| 99久久99久久精品国产片 | 亚洲1区在线 | 999电影免费在线观看 | 日韩久久午夜一级啪啪 | 日本激情视频中文字幕 | 一级理论片在线观看 | 国产精品第7页 | 亚洲美女精品 | 天天操天天操天天操天天操天天操天天操 | 日韩av成人在线观看 | 999视频在线播放 | 天天操夜操 | 精品亚洲视频在线 | 日韩久久久久久久久久久久 | 人人舔人人干 | 免费高清男女打扑克视频 | 日韩欧美一区二区三区黑寡妇 | 黄色av成人在线 | 九九久久国产精品 | 97人人澡人人添人人爽超碰 | 国产丝袜制服在线 | 亚a在线 | 在线 影视 一区 | 美国人与动物xxxx | 美州a亚洲一视本频v色道 | 婷婷国产v亚洲v欧美久久 | 国产日韩精品一区二区 | 国产一级片观看 | 亚洲免费一级电影 | 麻豆久久久久久久 | 黄色国产在线观看 | 99久久精品免费看国产一区二区三区 | 国产在线中文字幕 | 日韩视频在线不卡 | 久久久免费少妇 | 色天天综合网 | 日韩网站中文字幕 | 婷婷香蕉 | 色婷婷综合成人av | av女优中文字幕在线观看 | 亚洲电影一级黄 | 精品久久福利 | 精品专区| 亚洲国产综合在线 | 在线精品视频免费观看 | 久久久精品 一区二区三区 国产99视频在线观看 | 色综合久久中文字幕综合网 | 性色大片在线观看 | 欧美综合干 | 91av大全| 久久久久久中文字幕 | 久久精品视频国产 | 日韩高清在线一区 | 麻豆影视网站 | 国产精品国产三级在线专区 | 免费手机黄色网址 | 激情深爱五月 | 国产v在线观看 | 韩国av永久免费 | 99国产高清 | 久久午夜鲁丝片 | 在线你懂 | 亚洲精色 | 一级片色播影院 | 国产精品自在线 | 天天操夜夜看 | 干 操 插 | 日韩精品中文字幕久久臀 | 96久久| 国产亚洲一区二区在线观看 | 天天爽人人爽夜夜爽 | 久久精精品 | 中文字幕在线播放第一页 | 日韩中文在线播放 | 激情自拍av| 探花视频在线观看 | 亚洲丁香久久久 | 国产 精品 资源 | 日韩在线观看第一页 | 99久久精品国产亚洲 | 91精品国产一区二区在线观看 | 一区二区三区免费在线播放 | 国产一区二区三区在线免费观看 | 国产一级片毛片 | 一本一道久久a久久精品蜜桃 | 国产欧美日韩一区 | 国产精品免费观看久久 | 日本字幕网 | 五月婷婷影视 | 婷婷亚洲综合五月天小说 | 麻豆视频免费网站 | 久久99久久99精品中文字幕 | av官网在线| 超碰公开在线观看 | 免费观看完整版无人区 | 五月婷婷丁香在线观看 | 国产中文字幕网 | 99视频| 午夜久久精品 | 手机av资源 | 在线电影日韩 | 久久久久久福利 | 天天操天天舔天天干 | 日韩精品一区二区在线视频 | 人人爱人人舔 | 国产手机在线播放 | 国产美女搞久久 | 国产精品每日更新 | 免费观看一级视频 | 国产一二区视频 | 日本黄色免费电影网站 | 亚洲成人在线免费 | 91九色视频导航 | 日韩精品一区二 | 日韩av三区 | 亚洲精选久久 | 亚洲国产精品激情在线观看 | 欧美一区三区四区 | 奇米网网址 | 日韩精品一卡 | 中文字幕视频三区 | 国产一区高清在线观看 | 激情久久五月 | 狠狠操.com | 在线观看国产亚洲 | 日本黄区免费视频观看 | 激情五月婷婷网 | 丁香色婷| av免费网| 欧美成年人在线观看 | 黄色综合 | 激情视频网页 | 国产黄a三级 | 成人av网站在线播放 | 久久婷婷综合激情 | 亚洲精品国偷拍自产在线观看蜜桃 | 91成版人在线观看入口 | 国产精品午夜久久 | 三级av免费观看 | 亚洲毛片一区二区三区 | 久久精精品视频 | 91桃色免费视频 | 天天干国产 | 国产视频网站在线观看 | 国产裸体无遮挡 | 国产不卡在线视频 | 久久综合综合久久综合 | 91大神精品视频在线观看 | 夜夜骑首页 | 在线观看韩日电影免费 | 欧美精品在线一区 | 亚洲国产精品500在线观看 | 久久免费视频网 | 高清有码中文字幕 | 亚洲国产片 | 亚洲国产精品久久久久久 | 国产又粗又猛又色又黄网站 | 免费观看v片在线观看 | 欧美视频国产视频 | 亚洲午夜精品一区二区三区电影院 | 麻豆视屏 | 99这里精品| 久草在线免费播放 | 精品国模一区二区三区 | 久草在线资源网 | 热久久免费视频精品 | 欧美日本国产在线观看 | 日韩电影一区二区在线 | 国产专区在线 | 五月婷婷开心中文字幕 | 成人黄色大片在线观看 | 精精国产xxxx视频在线播放 | 日韩天天干 | 欧美另类xxxx | 亚洲精品免费在线观看视频 | 九九亚洲精品 | 91看片淫黄大片一级在线观看 | 九九99| 国产破处在线播放 | av女优中文字幕在线观看 | 亚洲精品视频在线观看免费视频 | 久久国产精品免费一区 | 丁香视频在线观看 | 亚洲电影一级黄 | 日本久久久久久久久久久 | 久久久精品亚洲 | 国产精品久久艹 | 国产日韩中文字幕在线 | 久久综合色婷婷 | 午夜婷婷综合 | 综合婷婷| 国产精品美女免费视频 | 日韩电影黄色 | 人人射 | 亚洲国产精品一区二区尤物区 | 嫩草91影院| www.天天射 | 国产一区电影在线观看 | av在线专区 | 久久亚洲热 | 天天综合中文 | www.天天操 | 啪啪av在线 | 九九九九精品九九九九 | 亚洲国产合集 | 又黄又刺激又爽的视频 | 96精品高清视频在线观看软件特色 | 免费看黄的视频 | 国产亚洲片 | 成人av在线网 | 欧美精品网站 | 久久香蕉国产精品麻豆粉嫩av | 国产婷婷 | 日韩欧美国产激情在线播放 | 天天操天天操天天操天天操 | 成人免费视频免费观看 | 色多多视频在线 | www.人人草 | 97在线观视频免费观看 | 国产成人精品久 | 久久精品亚洲 | 午夜视频日本 | 国产免费资源 | 91天堂影院 | 亚洲天堂毛片 | a√资源在线 | 免费三级av| 在线观看av片 | 国际精品久久久久 | 亚洲欧美成人综合 | 国产精品乱码久久 | 国产精品久久久久久久久蜜臀 | 国产v在线| 日本成人中文字幕在线观看 | 中文字幕亚洲精品在线观看 | 免费高清在线一区 | 日韩久久久久久久久久 | 激情视频一区二区 | 国产中文字幕大全 | 久久精品视频在线看 | 国产精品成人一区二区三区吃奶 | 亚洲v欧美v国产v在线观看 | 成人毛片100免费观看 | 国产伦理精品一区二区 | 日本bbbb摸bbbb | 国产精品毛片久久 | 深爱综合网| 日本精品久久久久中文字幕5 | 亚洲国产精品一区二区久久,亚洲午夜 | 在线成人看片 | 国产成人久久77777精品 | 欧美视频一区二 | 久久成人免费电影 | 欧美日韩中文在线视频 | 日本高清xxxx | 国产精品18久久久久久久 | 99精品免费久久久久久久久日本 | 国产97视频| 亚洲欧美少妇 | 欧洲亚洲国产视频 | 久久久久女人精品毛片九一 | 日韩av资源在线观看 | 久久久久在线视频 | 中文字幕高清免费日韩视频在线 | 色噜噜噜 | 天天操天天爱天天爽 | 亚洲国产一二三 | 中文在线字幕免 | 国产不卡高清 | 欧美日韩国产在线精品 | 日韩女同一区二区三区在线观看 | 国内视频一区二区 | 天天曰天天干 | 在线欧美小视频 | 一区二区不卡在线观看 | 国产精品毛片久久蜜 | 成人午夜电影在线播放 | 色婷婷激情四射 | 99国产精品视频免费观看一公开 | 久久 亚洲视频 | 一级黄色片网站 | 久久乐九色婷婷综合色狠狠182 | 精品亚洲视频在线观看 | 亚洲 欧美 综合 在线 精品 | 国产裸体永久免费视频网站 | 五月天婷亚洲天综合网鲁鲁鲁 | www.大网伊人| 在线视频国产区 | 久久99精品久久久久蜜臀 | 免费在线观看av网址 | 久久精品电影 | 国产高清视频在线免费观看 | 久久久久久久免费看 | 午夜精品久久久久久 | 国内揄拍国内精品 | 色婷婷久久 | 中文字幕二区在线观看 | 欧美日韩免费在线视频 | 日韩精品在线看 | 国产成人精品一区二区三区 | 精品久久久精品 | 97国产大学生情侣白嫩酒店 | 国产亚洲日 | 精品国产一区二区三区久久久蜜月 | 亚洲国产视频在线 | 一区二区三区三区在线 | 亚洲电影网站 | 中文字幕亚洲综合久久五月天色无吗'' | 四虎在线视频免费观看 | 国产精品专区在线 | 国产在线观看你懂得 | 免费观看国产视频 | 国产在线观看免费 | 国产精品久久久久影院日本 | 在线国产99 | 国产资源免费 | 欧美成年人在线观看 | 国产 一区二区三区 在线 | 日日射av| 91久久国产综合精品女同国语 | www.天天草 | 深爱激情站 | 96视频免费在线观看 | 97综合在线 | 精品一二三四五区 | 色.www| 字幕网在线观看 | 成人av电影免费在线观看 | 日韩精品在线观看av | 亚洲日日日 | 成人免费视频观看 | 黄在线免费看 | 午夜精品一区二区三区可下载 | 欧美视频国产视频 | 69久久久 | 中文字幕一区二区三区在线播放 | 久久综合国产伦精品免费 | 99草在线视频 | 碰超在线| 久久精品这里热有精品 | 欧美国产一区二区 | av资源在线观看 | 色网站免费在线观看 | 黄色软件大全网站 | 黄色的视频网站 | 欧美日韩免费视频 | 99视频精品免费观看, | 久久97久久| 综合中文字幕 | 久久久午夜电影 | 人人爽人人爽人人爽学生一级 | 九九久久国产精品 | 日韩中文字幕免费电影 | 精品久久久久久久久久久院品网 | 在线视频婷婷 | 一区二区网| 美女网站在线观看 | 91精品久久久久久久91蜜桃 | 国产亚洲片 | 久久夜色精品国产欧美乱 | 麻豆精品传媒视频 | 在线观看深夜福利 | 中文字幕在线观看视频一区 | 国产精品久久久久久吹潮天美传媒 | 日本一区二区三区视频在线播放 | 91亚洲视频在线观看 | 日韩中文字幕免费视频 | 欧美大香线蕉线伊人久久 | 四虎免费在线观看 | 免费在线观看av网站 | 亚洲成人软件 | 国产精品区免费视频 | 色在线视频网 | 久久精品一区二区三区中文字幕 | 久久久久久久久久久网站 | 夜夜躁日日躁狠狠久久88av | 国产手机在线播放 | a在线观看国产 | 九色91福利| 波多野结衣一区 | 91香蕉嫩草 | 欧美日韩高清一区二区三区 | 91激情视频在线播放 | 久草在线视频在线观看 | 免费国产在线精品 | 国产视频中文字幕 | 91精品啪啪 | 国产一级二级在线播放 | 久久国内精品 | 麻豆精品国产传媒 | av中文在线影视 | 91视频免费国产 | 精品国产免费人成在线观看 | 亚洲人成人在线 | 中文字幕在线电影 | 国产精品不卡 | 久久国产精品精品国产色婷婷 | 免费看三片 | av免费在线看网站 | 国产99色| 91桃色国产在线播放 | 天天超碰 | 欧美9999 | 日本久久综合网 | 成人全视频免费观看在线看 | 狠狠干夜夜爽 | www.伊人网 | 日韩亚洲在线观看 | av中文字幕在线播放 | 久久调教视频 | 97精品国产aⅴ | 欧美激情第一页xxx 午夜性福利 | 91av在线精品 | 奇米影视8888 | 91系列在线观看 | 最近最新最好看中文视频 | 一区二区不卡在线观看 | 麻豆视频在线观看免费 | 中文字幕在线观看免费 | 美女亚洲精品 | 免费h精品视频在线播放 | 2021国产精品 | 免费看国产精品 | 黄色片网站 | 蜜臀av夜夜澡人人爽人人桃色 | 亚洲欧美日韩国产精品一区午夜 | 久草视频99 | 久久无码av一区二区三区电影网 | 国产精品 中文在线 | 日韩中文字幕免费 | av黄色国产 | 日本在线观看一区二区 | 中文字幕在线观看第二页 | 日韩精品一区二区电影 | 国产日韩中文字幕在线 | 国产手机免费视频 | av中文字幕在线播放 | 国语对白少妇爽91 | 青草草在线视频 | 亚洲最新av在线 | 一区二区精品久久 | 国产精品精品国产色婷婷 | 天天操人人要 | 免费在线国产 | 国产精品久久久久久久久久 | 精品久久网站 | 欧美日韩首页 | 久久视频99 | 国产美女视频免费观看的网站 | 久久综合爱| 国产成人av网址 | 日本婷婷色 | 色天天中文 | 国产成人精品av久久 | 丁香六月婷婷开心婷婷网 | 亚洲综合视频网 | 日韩网站视频 | 99热这里只有精品8 久久综合毛片 | 人人玩人人添人人澡超碰 | 一本色道久久精品 | 2020天天干天天操 | 波多野结衣在线中文字幕 | 亚洲精品在线国产 | 久久久久久久久久久久国产精品 | 青青河边草观看完整版高清 | 婷婷新五月| 久久综合久久综合久久 | 国产在线91在线电影 | 国产精品久久毛片 | 欧美大片mv免费 | 97在线免费视频观看 | 人人爽人人爽人人爽学生一级 | av 一区 二区 久久 | 色网站中文字幕 | 精品91久久久久 | 在线视频观看成人 | 福利在线看片 | 欧美三级高清 | 欧美日韩视频免费 | 日韩欧美网址 | 国产馆在线播放 | av天天在线观看 | 国内综合精品午夜久久资源 | 91av视频| 日韩在线观看你懂得 | 久久a v视频 | 天天操狠狠干 | 精品国产一区二区三区久久 | 日韩在线在线 | 成在线播放 | 国产成本人视频在线观看 | 日韩精品视频一二三 | www.玖玖玖 | 欧美日韩在线免费观看视频 | 国产一二三精品 | 中日韩三级视频 | 婷婷深爱网 | 天天激情综合 | 欧美日韩视频免费看 | 欧美一级久久 | 亚洲一二三区精品 | 天天干,夜夜爽 | 欧美日韩精品久久久 | 91精品区| 天天射天天干天天爽 | av综合站| 久久久免费网站 | 婷婷丁香色 | 日韩在线观看不卡 |