国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

jackson序列化與反序列化的應(yīng)用實踐

共 9364字,需瀏覽 19分鐘

 ·

2020-09-18 14:07

點擊上方藍(lán)色字體,選擇“標(biāo)星公眾號”

優(yōu)質(zhì)文章,第一時間送達(dá)

? 作者?|??zhouweixin?

來源 |? urlify.cn/iEbiAz

66套java從入門到精通實戰(zhàn)課程分享

1 相關(guān)概念

  1. 序列化: 把對象轉(zhuǎn)換為字節(jié)序列的過程稱為對象的序列化

  2. 反序列化: 把字節(jié)序列恢復(fù)為對象的過程稱為對象的反序列化

2 序列化的作用

  1. 用于把內(nèi)存中的對象狀態(tài)保存到一個文件中或者數(shù)據(jù)庫中

  2. 用于網(wǎng)絡(luò)傳送對象

  3. 用于遠(yuǎn)程調(diào)用傳輸對象

3 準(zhǔn)備序列化對象

準(zhǔn)備了兩個類, 教師類和學(xué)生類, 其中一個學(xué)生只有一個教師
這里省略了構(gòu)造方法和setter, getter方法

Teacher.java

public?class?Teacher?{
????private?String?name;
????private?Integer?age;
}

Student.java

package?org.zwx;

public?class?Student?{
????private?String?name;
????private?Integer?age;
????private?Sex?sex;
????private?String?fatherName;
????private?Date?bornTime;
????private?Teacher?teacher;
}

Sex.java

public?enum?Sex?{
????MALE("男"),?FEMALE("女");

????private?String?name;
????
????Sex(String?name)?{
????????this.name?=?name;
????}

????public?String?getName()?{
????????return?name;
????}
}

4 引入jackson依賴

本示例是基于gradle的, 從maven中心倉庫中選擇了2.11.2版本的jackson-databind

compile?group:?'com.fasterxml.jackson.core',?name:?'jackson-databind',?version:?'2.11.2'

5 序列化與格式化輸出

5.1 流程

  1. 首先需要有一個待序列化對象, 本例中的student對象

  2. 創(chuàng)建一個對象映射器, jackson包下的ObjectMapper

  3. 調(diào)用序列化函數(shù), 本例中的writeValueAsString, 將對象轉(zhuǎn)為字符串, 便于展示

5.2 代碼

public?void?testSerializable()?throws?IOException?{
????Student?student1?=?new?Student("小明",?18,?Sex.MALE,?"王富貴",?new?Date(),?new?Teacher("李老師",?40));
????Student?student2?=?new?Student("小花",?16,?Sex.FEMALE,?"錢很多",?new?Date(),?new?Teacher("趙老師",?38));
????List?students?=?new?ArrayList<>();
????students.add(student1);
????students.add(student2);

????ObjectMapper?mapper?=?new?ObjectMapper();
????String?s?=?mapper.writerWithDefaultPrettyPrinter().writeValueAsString(students);
????System.out.println(s);
}

5.3 結(jié)果

[?{
??"name"?:?"小明",
??"age"?:?18,
??"sex"?:?"MALE",
??"fatherName"?:?"王富貴",
??"bornTime"?:?1599996926917,
??"teacher"?:?{
????"name"?:?"李老師",
????"age"?:?40
??}
},?{
??"name"?:?"小花",
??"age"?:?16,
??"sex"?:?"FEMALE",
??"fatherName"?:?"錢很多",
??"bornTime"?:?1599996926917,
??"teacher"?:?{
????"name"?:?"趙老師",
????"age"?:?38
??}
}?]

5.4 分析

  1. 示例中調(diào)用了方法writerWithDefaultPrettyPrinter, 美化了json的格式

  2. 否則將打印


  3. [{"name":"小明","age":18,"sex":"MALE","fatherName":"王富貴","bornTime":1599997061097,"teacher":{"name":"李老師","age":40}},{"name":"小花","age":16,"sex":"FEMALE","fatherName":"錢很多","bornTime":1599997061097,"teacher":{"name":"趙老師","age":38}}]

6 自定義序列化的名字

6.1 場景

假如需要將序列化的json由駝峰命名修改為下劃線命名, 如fatherName修改為father_name

只需要在字段fatherName上用注解JsonProperty配置

6.2 示例代碼

@JsonProperty("father_name")
private?String?fatherName;
@JsonProperty("born_time")
private?Date?bornTime;

6.3 示例結(jié)果

[?{
??"name"?:?"小明",
??"age"?:?18,
??"sex"?:?"MALE",
??"teacher"?:?{
????"name"?:?"李老師",
????"age"?:?40
??},
??"father_name"?:?"王富貴",
??"born_time"?:?1599997157609
},?{
??"name"?:?"小花",
??"age"?:?16,
??"sex"?:?"FEMALE",
??"teacher"?:?{
????"name"?:?"趙老師",
????"age"?:?38
??},
??"father_name"?:?"錢很多",
??"born_time"?:?1599997157610
}?]

7 自定義輸出格式

7.1 bornTime格式設(shè)置

當(dāng)前bornTime的格式為unix時間戮, 可讀性非常差

現(xiàn)修改為yyyy-MM-dd HH:mm:ss
并設(shè)置時區(qū)為東八區(qū)

示例代碼

@JsonProperty("born_time")
@JsonFormat(pattern?=?"yyyy-MM-dd?HH:mm:ss",?timezone?=?"GMT+8")
private?Date?bornTime;

結(jié)果

[?{
??"name"?:?"小明",
??"age"?:?18,
??"sex"?:?"MALE",
??"teacher"?:?{
????"name"?:?"李老師",
????"age"?:?40
??},
??"father_name"?:?"王富貴",
??"born_time"?:?"2020-09-13?19:50:47"
},?{
??"name"?:?"小花",
??"age"?:?16,
??"sex"?:?"FEMALE",
??"teacher"?:?{
????"name"?:?"趙老師",
????"age"?:?38
??},
??"father_name"?:?"錢很多",
??"born_time"?:?"2020-09-13?19:50:47"
}?]

7.2 sex設(shè)置為中文

只需要為Sex添加一個方法getOrdinal, 并添加注解JsonValue即可

示例代碼

@JsonValue
public?String?getOrdinal()?{
????return?name;
}

示例結(jié)果

[?{
??"name"?:?"小明",
??"age"?:?18,
??"sex"?:?"男",
??"teacher"?:?{
????"name"?:?"李老師",
????"age"?:?40
??},
??"father_name"?:?"王富貴",
??"born_time"?:?"2020-09-13?19:57:47"
},?{
??"name"?:?"小花",
??"age"?:?16,
??"sex"?:?"女",
??"teacher"?:?{
????"name"?:?"趙老師",
????"age"?:?38
??},
??"father_name"?:?"錢很多",
??"born_time"?:?"2020-09-13?19:57:47"
}?]

7.3 sex設(shè)置為序號

有些場景喜歡用0和1等序號設(shè)置男女, 即枚舉的序號: 0表示男, 1表示女

此時需要修改Set的getOrdinal方法

  1. 修改返回值類型為int

  2. 調(diào)用父類的getOrdinal方法

示例代碼

@JsonValue
public?int?getOrdinal()?{
????return?super.ordinal();
}

示例結(jié)果

[?{
??"name"?:?"小明",
??"age"?:?18,
??"sex"?:?0,
??"teacher"?:?{
????"name"?:?"李老師",
????"age"?:?40
??},
??"father_name"?:?"王富貴",
??"born_time"?:?"2020-09-13?20:01:44"
},?{
??"name"?:?"小花",
??"age"?:?16,
??"sex"?:?1,
??"teacher"?:?{
????"name"?:?"趙老師",
????"age"?:?38
??},
??"father_name"?:?"錢很多",
??"born_time"?:?"2020-09-13?20:01:44"
}?]

8 拍平嵌套類型

場景

如前面提到的結(jié)果所示, teacher的兩個屬性并不在student的第一層,
有時可能會更深的層次, 使用起來不太友好

如何用teacher_name和teacher_age兩個屬性代替teacher呢?

  1. 在Student的teacher屬性上添加注解JsonUnwrapped, 意為不包裹

  2. 在Teacher的屬性上利用注解JsonProperty重命名

示例代碼

Student.java

@JsonUnwrapped
private?Teacher?teacher;

Teacher.java

@JsonProperty("teacher_name")
private?String?name;
@JsonProperty("teacher_age")
private?Integer?age;

示例結(jié)果

[?{
??"name"?:?"小明",
??"age"?:?18,
??"sex"?:?0,
??"teacher_name"?:?"李老師",
??"teacher_age"?:?40,
??"father_name"?:?"王富貴",
??"born_time"?:?"2020-09-13?20:21:53"
},?{
??"name"?:?"小花",
??"age"?:?16,
??"sex"?:?1,
??"teacher_name"?:?"趙老師",
??"teacher_age"?:?38,
??"father_name"?:?"錢很多",
??"born_time"?:?"2020-09-13?20:21:53"
}?]

9 自定義序列化器

9.1 場景

假如需要將年齡調(diào)整為理論學(xué)齡, 即將年齡減去7, 得到理論學(xué)齡, 如何操作呢?

  1. 創(chuàng)建自定義年齡序列化器AgeSerializer, 繼承StdSerializer<>

    1. 創(chuàng)建AgeSerializer的構(gòu)造方法

    2. 重寫serialize函數(shù)

  2. 利用注解修指定Student屬性age的序列化器AgeSerializer

9.2 示例代碼

AgeSerializer.java

public?class?AgeSerializer?extends?StdSerializer?{
????protected?AgeSerializer()?{
????????super(Integer.class);
????}

????@Override
????public?void?serialize(Integer?value,?JsonGenerator?gen,?SerializerProvider?provider)?throws?IOException?{
????????gen.writeNumber(value?-?7);
????}
}

Student.java

@JsonSerialize(using?=?AgeSerializer.class)
private?Integer?age;

9.3 示例結(jié)果

[?{
??"name"?:?"小明",
??"age"?:?11,
??"sex"?:?0,
??"teacher_name"?:?"李老師",
??"teacher_age"?:?40,
??"father_name"?:?"王富貴",
??"born_time"?:?"2020-09-13?20:31:59"
},?{
??"name"?:?"小花",
??"age"?:?9,
??"sex"?:?1,
??"teacher_name"?:?"趙老師",
??"teacher_age"?:?38,
??"father_name"?:?"錢很多",
??"born_time"?:?"2020-09-13?20:31:59"
}?]

10 反序列化

10.1 流程

  1. 首先需要有序列化好的數(shù)據(jù), 可以是string, byte[], 文件二進(jìn)制等

  2. 創(chuàng)建一個對象映射器, jackson包下的ObjectMapper

  3. 調(diào)用反序列化函數(shù), 本例中的readValue, 將字符串轉(zhuǎn)為對象

10.2 反序列化對象數(shù)據(jù)

示例代碼

public?void?testDeserializable()?throws?JsonProcessingException?{
????String?s?=?"{\"name\":\"小明\",\"age\":11,\"sex\":0,\"teacher_name\":\"李老師\",\"teacher_age\":40,\"father_name\":\"王富貴\",\"born_time\":\"2020-09-13?20:46:10\"}";
????ObjectMapper?mapper?=?new?ObjectMapper();
????Student?student?=?mapper.readValue(s,?Student.class);
????System.out.println(student);
}

示例結(jié)果

Student{name='小明',?age=11,?sex=MALE,?fatherName='王富貴',?bornTime=Sun?Sep?13?20:46:10?CST?2020,?teacher=Teacher{name='李老師',?age=40}}

分析

  1. 為了便于打印對象數(shù)據(jù), 重寫了Student和Teacher的toString方法

  2. 從數(shù)據(jù)中可以看出, age的結(jié)果是錯誤的, 原因在于之前自定義的序列化器將年齡減小了7, 10.4節(jié)將會通過自定義反序列化器來解決此問題

10.3 反序列化對象數(shù)組數(shù)據(jù)

示例代碼

public?void?testDeserializableStudents()?throws?JsonProcessingException?{
????String?s?=?"[{\"name\":\"小明\",\"age\":11,\"sex\":0,\"teacher_name\":\"李老師\",\"teacher_age\":40,\"father_name\":\"王富貴\",\"born_time\":\"2020-09-13?20:51:31\"},{\"name\":\"小花\",\"age\":9,\"sex\":1,\"teacher_name\":\"趙老師\",\"teacher_age\":38,\"father_name\":\"錢很多\",\"born_time\":\"2020-09-13?20:51:31\"}]";
????ObjectMapper?mapper?=?new?ObjectMapper();
????Student[]?students?=?mapper.readValue(s,?Student[].class);
????for?(Student?student?:?students)?{
????????System.out.println(student);
????}
}

示例結(jié)果

Student{name='小明',?age=11,?sex=MALE,?fatherName='王富貴',?bornTime=Sun?Sep?13?20:51:31?CST?2020,?teacher=Teacher{name='李老師',?age=40}}
Student{name='小花',?age=9,?sex=FEMALE,?fatherName='錢很多',?bornTime=Sun?Sep?13?20:51:31?CST?2020,?teacher=Teacher{name='趙老師',?age=38}}

分析

  1. readValue的第二個參數(shù)需要傳類型, 這里推薦用數(shù)組, 不推薦用List, 具體原因筆者目前也沒花時間去研究

10.4 自定義反序列化器

從10.2節(jié)及10.3的現(xiàn)象中可以看出來, 僅僅自定義的序列化器會導(dǎo)致序列化的過程是正常的, 反序列化的過程仍然是默認(rèn)邏輯, 有時候會導(dǎo)致意想不到的結(jié)果

遇到此場景, 可以考慮自定義反序列化器

  1. 創(chuàng)建自定義反序列化器AgeDeserializer, 繼承StdDeserializer<>

  2. 重寫deserialize方法

  3. 在Student的age屬性上添加注解JsonDeserialize, 并指定反序列化器AgeDeserializer

示例代碼

AgeDeserializer.java

public?class?AgeDeserializer?extends?JsonDeserializer?{
????@Override
????public?Integer?deserialize(JsonParser?p,?DeserializationContext?ctxt)?throws?IOException,?JsonProcessingException?{
????????return?p.getIntValue()?+?7;
????}
}

Student.java

@JsonSerialize(using?=?AgeSerializer.class)
@JsonDeserialize(using?=?AgeDeserializer.class)
private?Integer?age;

示例結(jié)果

Student{name='小明',?age=18,?sex=MALE,?fatherName='王富貴',?bornTime=Sun?Sep?13?20:51:31?CST?2020,?teacher=Teacher{name='李老師',?age=40}}
Student{name='小花',?age=16,?sex=FEMALE,?fatherName='錢很多',?bornTime=Sun?Sep?13?20:51:31?CST?2020,?teacher=Teacher{name='趙老師',?age=38}}

11 注解JsonInclude

該注解使用在實體類上, 格式@JsonInclude(value = JsonInclude.Include.NON_DEFAULT)

其中, Include有7種參數(shù), 功能對比如下

參數(shù)功能備注
Include.ALWAYS屬性總是序列化(需要有g(shù)et方法)默認(rèn)值
Include.NON_DEFAULT屬性為默認(rèn)值不序列化如: int:0, bool:false
Include.NON_EMPTY屬性為空("")或null不序列化
Include.NON_NULL屬性為null不序列化
Include.CUSTOM

Include.USE_DEFAULTS

Include.NON_ABSENT

代碼示例

Student.java

@JsonInclude(value?=?JsonInclude.Include.NON_DEFAULT)
public?class?Student?{
public?void?testNonDefault()?throws?IOException?{
????Student?student?=?new?Student("",?0,?null,?null,?null,?null);
????ObjectMapper?mapper?=?new?ObjectMapper();
????String?s?=?mapper.writeValueAsString(student);
????System.out.println(s);
}

示例輸出

{
??"name"?:?"",
??"age"?:?-7
}

分析

  1. 當(dāng)屬性為默認(rèn)值, 即零值時, 不序列化

  2. 常見的零值:

    1. int: 0

    2. bool: false,

    3. String: null

12 注解JsonIgnoreProperties

該注解為類注解, 配置忽略序列化和反序列化的字段名
如下所示, 忽略字段name和age

@JsonIgnoreProperties(value?=?{"name",?"age"})
@JsonInclude(value?=?JsonInclude.Include.NON_DEFAULT)
public?class?Student?{

13 注解JsonIgnore

該注解為屬性注解, 表示忽略當(dāng)前屬性, 如下所示, 表示忽略name字段

@JsonIgnore
private?String?name;





粉絲福利:108本java從入門到大神精選電子書領(lǐng)取

???

?長按上方鋒哥微信二維碼?2 秒
備注「1234」即可獲取資料以及
可以進(jìn)入java1234官方微信群



感謝點贊支持下哈?

瀏覽 49
點贊
評論
收藏
分享

手機(jī)掃一掃分享

分享
舉報
評論
圖片
表情
推薦
點贊
評論
收藏
分享

手機(jī)掃一掃分享

分享
舉報

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 四虎在线免费视频| 欧美操穴| 蜜桃免费网站| 性爱视频免费| 插插视频| 国产精品色哟哟| 四个熟妇搡BBBB搡BBBB| 97精品国产97久久久久久免费| 成人无码在线观看免费视频| 国产精久久| 黄色网页在线免费观看| 一欧美日韩免费/看| 偷拍一区二区三区| 精品999| 久久毛片人妻| 国产美女福利| 特级西西人体WWWww| 老司机精品视频在线观看| 一级黄色免费看| 免费无码婬片A片AAA毛片96| 波多野结衣福利视频| 精品熟妇| 天堂成人在线视频| 成年视频网站| 少妇无码视频| 国产成人精品a视频一区| 张柏芝BBw搡BBBB槡BBBBHDfree | 日日操操| 国产日韩在线播放| 亚欧成人| 特级毛片AAAAAA蜜桃| 日韩av中文| 北条麻妃在线无码| 日本一级黄| a在线免费观看| 曰韩一级A片| 久久免费国产视频| 国产成人精品视频免费看| 五月天无码免费视频| 成人无码动漫A片| 久久久精品国产视频| 国产AV影片| 国产男女性爱视频播放| 懂色AV一区二区三区国产中文在线 | 久久无码高清| 欧美午夜片| 无码中文字幕在线视频| 极品小仙女69| 九九精品热播| 男人天堂成人| 伊人性爱网| 欧美性生活| 精品超碰| 91大神免费观看| 欧美AAA在线观看| 狠狠久久| 精品无码视频在线观看| 中文字幕++中文字幕明步| 神马午夜精品91| 污网站在线观看| 777色色色| 色网在线观看| 亚洲社区在线观看| 黑人无码| 午夜成人在线视频| 色色色成人视频| 男女啪啪免费视频| 无码不卡视频在线| 黄色视频在线免费播放| 乱伦乱伦乱伦中文字幕| 一级理论片| 高清无码视频直接看| 久久无码一区| 欧美A级成人婬片免费看| 大香蕉网址| 四虎成人无码A片观看| 男女嫩草视频| 婷婷三级片| 国产精品AV片| 内射无码专区久久亚洲| 亚洲无码。| 大香蕉超碰| 色吧久久| 亚洲AV秘一区二区色盗战流出| 九九国产| 91精品国产一区二区三区四区大| av电影在线观看| 日韩性爱一区| 中文人妻| 天天色AV| 欧美日韩中文视频| 久久不卡| 日本久久视频| 亚洲色婷婷久久精品AV蜜桃| 天堂中文资源库| 国产精品视频久久久久| 苍井空一区二区| 欧美精产国品一二三产品价格| 屌国产精品| 日韩小黄片| 一本色道久久88亚洲精品综合| 亚洲一级A片| 激情五月激情综合网| 就去色色五月丁香婷婷久久久| 毛片毛片毛片毛片毛片毛片| 三区在线观看| 丁香六月婷婷| 中文在线a√在线8| 中文字幕AV网| 91大神在线免费看| 国产成人无码区免费AV片在线| 精品在线播放视频| 91大长腿美女花外围在线观看| 手机成人在线视频| 国产精品久免费的黄网站| 日日干视频| 五月丁香免费视频| 一区无码高清| 麻豆乱码国产一区二区三区| 日本视频一区二区| 四川性BBB搡BBB爽爽爽小说| 在线看片a| 99热网| 无码在线专区| 日本一级片在线播放| 国产一区二区三区免费视频| 久久精品一二三| 亚洲无码免费视频在线观看| 中文字幕有码视频| 特级西西人体WWWWW| 国产精品自在线| 久久嫩草在线影院| 毛片在线观看网站| 九一av| 炮友五月天| 高清一区二区三区| 怡红院一区| 成人无码精品亚洲| 日韩欧美一级A片| 亚洲无码电影在线| 国产成人高清无码| 天天综合在线观看| 男人天堂无码成人| 国产黄色录像| 你懂的视频网站| 狠狠狠狠狠操| 成人毛片一区二区三区无码| 无码av观看| h网站在线观看| 日本三级韩三级99久久| 黄色无码在线观看| 亚洲精品一区二区二区的游戏情况 | 成人一级片| 一级片黄色| 亚洲性爱在线播放| 久久伊人电影| 中字幕视频在线永久在线观看免费 | 日韩三级一区二区| 38D蜜桃臀| av电影在线观看| 亚洲国产天堂| 国产99久久久| av影音先锋在线| 亚洲精品无码人妻| 91国产精品| 最好看的MV中文字幕国语| 国产一级片在线| 五月丁香六月激情综合| 国产一区视频18| 免费一级无码婬片A片AAA毛片| 日韩色情片| 成人性爱av| 天天肏天天肏| 欧美BBWBBWBBWBBWBBwBBW | 精品福利一区二区三区| 中国熟妇| 五月天婷婷视频| 国产香蕉在线观看| 青娱乐成人在线| 亚洲vs无码秘蜜桃| 久9久9久9久9久9久9| 黄色爱爱| 综合影院| 超碰青娱乐| 国产91精品探花一区二区| 亚洲成人精品一区二区| 香蕉午夜视频| 超碰人妻人人操| 在线免费高清无码| 人人澡人人爽欧一区| 国产成人视频在线| 国产免费麻豆| 91视频色| 无码精品久久| 激情五月婷婷五月| 亚洲网站在线播放| 天堂久久久久| 免费成人视频在线观看| 亚洲AV毛片成人精品网站| 大香蕉在线播| 东方AV免费在线观看| 欧美丰满人妻免费视频人| 亚洲综合91| www.99视频| 久久九色| 国产传媒一区| 亚洲热视频在线观看| 亚洲AV一级| 伊人久久久久久久久久久| 亚洲综合网在线| 免费国产h| 制服毛片| 最近中文字幕2022在线观看A | 91av在线电影| 99热一区二区三区| 538在线观看| 少妇搡BBBB搡BBB搡造水多, | 无码av亚洲一区二区毛片公司| 亚洲综合在线视频| 大香蕉一区二区| 久久久久久国产| 免费黄色成人网站| 精品人妻一区二区三区鲁大师| 欧美成人视频在线观看| 美女一级片| 日韩少妇| 国产成人片| 国产色婷婷| 婷婷在线视频| 国产操老女人| 亚洲aV影院| 乱子伦一区二区三区视频在线观看| 天天色网站| 六月婷婷五月天| 免费啪啪视频| 久久婷婷热| 免费av播放| 日韩無码专区| 337P粉嫩大胆噜噜噜55569| 三级大香蕉| 中文字幕免费AV| 大香蕉综合视频| www.日本色| 亚洲美女视频在线观看| 日韩无码二区| 色综合久久88色综合天天99| 久久一本| 亚洲精品无码视频| 青青操首页| 国产理论视频在线观看| 热久久久久久| 欧美午夜激情视频| 国产三级片AV| 国产成人a亚洲精品| 狠狠干狠狠色| 狠狠干网| 亚洲免费在线| 丁香色婷婷五月天| 五月丁香人妻| 男人的天堂视频在线观看| 日韩黄色免费网站| 亚洲男女网站| 先锋影音av资源站| 好吊妞在线| 蜜桃视频无码| 免费在线成人网| 日本国产高清| 成人动漫一区| 久操资源站| 午夜AV电影| 免费v片在线观看| 成人做爰黄A片免费看陈冠| 国产激情久久| 国产AV网| 日韩无码一二三区| 不卡无线在一区| 影音先锋国产精品| 久久精品福利视频| 欧美黄色大香蕉| 色五月婷婷视频| 性免费网站| 欧美老女人性爱视频| www.A片| 日韩综合一区| 免费一级片视频| 久草香蕉| 欧美AAA片| 色婷婷在线视频观看| av网站免费观看| 欧美日韩国产一区| 精品久久免费| 亚洲精品白浆高清久久久久久| 大香蕉色伊人| 高潮无码视频| 黑人操逼| 国产精品精品| 12—13女人毛片毛片| 99色色网| 亚洲色图在线观看| 欧美三级视频| 五月天激情片| 青在线视频| 婷婷五月天无码| 国产激情无码| 看免费操逼视频| 亚洲黄色毛片| 影音先锋日韩资源| 国产AV一区二区三区| 欧洲无码一区二区三区| a一级黄片| 韩国精品一区二区| 青青草无码在线视频| 在线免费观看av网站| 极品美鮑20p| 毛片区| 国产女人精品视频| 亚洲欧美成人视频| 日韩精品成人无码免费| 成人小视频观看| 国语偷拍| 天天射网| 日韩中文字幕在线| 成人欧美一区二区三区在线观看| 色碰碰| A无码| 色五月婷婷小说| 一区久久| 中文字幕av在线播放| 色婷婷香蕉在线一区二区| 亚洲日产专区| 婷婷五月天久久| 日本一区二区视频在线观看| 乱子伦国产精品www| 九九热精品在线| 青青草在线观看免费| 中文无码字幕在线| 日本免费爱爱视频| 亚洲综合网在线观看| 亚洲无码视频免费| 日韩无码成人| 99在线精品视频观看| 99热在线免费| 日韩黄色电影在线免费观看| 在线国产日韩| 亚洲高清无码专区| 久艹在线观看视频| 国产成人无码精品久在线观看 | www.国产在线观看| 青草网在线观看| 天天草天天爽| 黄片视频在线免费观看| av福利在线观看| 激情五月婷婷色| 亚洲天堂久久| 天天干天天肏| 韩日一区| 中文字幕精品久久久久人妻红杏Ⅰ | 久久er热| 欧美性爱在线网站| 91九色91蝌蚪91成人| 亚洲人成在线观看| 激情二区| 99久在线精品99re8| 免费操逼| 中文无码高清视频| 无码视频网| 在线A∨视频| 91精品国产一区二区| 久久爱成人| 青春草在线观看| 国产精品欧美日韩| 欧美色址| 亚洲一区欧美二区gay| 99精品自拍| 熟女人妻人妻の视频| 人人澡人人妻人人爽| 操逼操逼视频| 色老板免费视频| 草久在线观看| 成片免费观看视频大全| 久久av一区| 91热爆TS人妖系列| 五月天成人社区| 中文无码一区二区三区四区| 天天插天天干| 亚洲射色| 久久久久成人电影| 在线亚洲欧洲| 蜜桃久久| wwwAV在线观看| 91探花秘在线播放| 九九九视频在线观看| 91人妻人人澡人人爽人人精品一 | 中国操B视频| 五月伊人网| 亚洲黄色免费观看| 国产精品欧美综合在线| 人人操人人摸人人爱| 久久综合婷婷| 99操逼| 美日韩精品| 国产免费一区二区三区免费视频| 欧美丰满老熟妇XXXXX性| 亚洲第一黄| 亚州成熟少妇视频在线观看| 亚洲成人性爱视频| 两根茎一起进去好爽A片在线观看 日本三级AAA三级AAAA97 | 一级无码毛片| 天天日天天日天天干| 91精品国产乱码久久久| 成人在线一区二区| 熟女老阿V8888AV| 中文字幕有码在线播放| 青青青草视频| 婷婷五月天啪啪| 翔田千里与黑人50分钟| 国产一级AV国产免费| 欧美偷拍一区| 日本特级黄色毛片| 无码在线电影| 丰满熟妇人妻无码视频| 精品久久久久久AV2025| 男男做受A片AAAA| 亚洲黄色Av| 久久视频一二| 国产免费操逼视频| 99精品全国免费观看| 8090操逼网| 成人A片视频| 午夜福利三级| 亚洲影音先锋在线| 久久亚洲福利视频| 果冻传媒一区二区三区| 天天爽夜夜| 黄频在线免费观看| 91人妻人人操| 黄色网址在线免费观看| 日韩专区中文字幕| 短发半推半就AV| 毛多水多丰满女人A片| 特特级毛片| 日韩在线综合| 熟妇槡BBBB槡BBBB图| 国产成人视频在线播放| 久久国产无码| 亚洲AV无码久久精品色无码蜜桃| 激情小说在线视频| 亚洲污网| 中文字幕第5页| 最新无码在线| 中国操逼毛片| av色在线| 国产黄色片在线观看| 在线观看网址你懂的| 中文字幕精品一级A片| 牛牛成人在线视频| 亚洲性爱中文字幕| AV小说在线观看| 午夜美女福利视频| 中文无码Av| 亚洲日韩AV在线| 嫩BBB槡BBBB槡BBBB撒尿| 黄色网页在线| 久久久久亚洲AV成人片乱码| 久久久性爱| 午夜免费视频1000| 香蕉国产2023| 青青草原在线视频免费观看| 亚洲精品国产精品乱码不卡√香蕉 | 亚洲日日干| 五月丁香六月激情| 18禁黄网| 亚洲高清无码在线免费观看 | 黄色小说在线看| 99久久爱re热6在播放| 中日韩欧美一级A片免费| 欧美一区二区三区精品| 中文字幕亚洲视频在线观看| 国产女人18水真多18精品| 综合成人在线| 亚洲无码免费在线观看| 成人福利网站| 三区在线| 97国产在线观看| 走光无码一区二区三区| 午夜AV免费| 欧美成人伦理片网| 国产亚洲视频在线观看| 色婷婷在线免费视频| AA丁香综合激情| 成年人视频免费| 一级a黄色片| 国产成人片色情AAAA片| 91视频一区| 97人妻人人澡| AV网站在线播放| 国产精品77777| 国产毛片久久久久久久| 成人伦理聚合| 国产无码一区二区三区| 免费无码视频在线观看| 99热7| 中文无码一区二区三区| 91无码高清| 大香蕉国产在线视频| 日批无码| 欧美十区| 电家庭影院午夜| 色五月丁香婷婷| 青青草无码| 成人A片免费看| 精品在线一区| 日韩欧美国产成人| 夜夜爽妓女77777毛片A片 | 精品免费一区二区三区四区| 91视频在线免费观看app| 嫩BBB槡BBBB槡BBB小号| 国产精品久久久久久亚洲毛片 | 亚洲一区二区久久| 97人妻人人| 久久精品99国产国产精| 91视频福利网| 国产国产国产在线无码视频| 国产精品国内自产拍| 久久成人123| 亚洲91视频| 久久久久久久国产| 无码人妻丰满熟妇bbbb| 日日精品| 99视频内射三四| 99热精品在线播放| 久草免费在线视频| 日皮视频免费观看| 人人摸人人操人人| 亚洲高清无码一区| 88AV在线播放| 西西特级WWW444无码| 久草大| 国产又粗又长视频| 北条麻妃JUX-869无码播放| 日本黄色影院在线| 男人天堂资源网| 爆操无码| 一级片国产| 色老板av| 国产看色免费| 污污的网站18| 久热99| 五月丁香啪啪啪| 无码少妇| 亚洲久草| 日韩人妻无码一区| 九九视频在线观看| 熟女少妇视频| 麻豆精品传媒2021md| 亚洲AV网站| 欧美精品性爱视频| 91在线观看免费视频| 国产伊人自拍| 在线成人小视频| 天堂成人在线视频| 亚洲九九九九| 欧美熟妇精品一级A片视色| 色xxxx| 99精品无码| 婷婷五月天小说| 亚洲日本国产| 日操夜操| 噜噜在线| 91精品啪| 谁有毛片网址| 日韩无码操逼视频| 国产日韩欧美视频| 乱子伦】国产精品| 九九热精品视频在线播放| 全国最大成人网站| 国产a视频| 爱福利视频网| 综合欧美国产视频二区| 一本一道久久a久久精品综合| 长腿女神打扫偷懒被主人猛操惩罚| 麻豆91在线| 狠狠操狠狠| 亚洲AV成人片无码网站| 国精产品一区二区三区| AV毛片| 爆操约了良家| 人人操人人看人人摸| 中文字幕有码在线播放| 日韩中文字幕成人| 99热自拍| 国产精品码ls字幕影视| 超碰97在线精品国产| 中文字幕成人在线播放| 国产一道本| 中文字幕在线一区二区a| 亚洲中文字幕在线视频观看| 高清无码激情| 日韩偷拍网| 久久偷看各类wc女厕嘘嘘偷窃| 欧美A片网站| 中文在线免费看视频| 国产精品成人无码a无码| 欧美天天| 91香蕉国产在线观看| 国产成人一区二区无码| 超碰人人操在线| 九九热免费视频| 大香蕉国产视频| 精品AV国产| 色色网站在线观看| 亚洲精品资源在线| 黄色小视频免费看| 欧美不卡在线播放| 中文字幕精品三区无码| 国产精品91在线| 韩日一区| 日韩精品一区二区三区四区| 在线日韩国产| 欧美日本中文字幕| 99精品在线免费观看| 性欧美成人18| 麻豆传媒一区| 影音先锋在线视频观看| 免费黄片网站在线观看| 无码少妇| 神马午夜激情| 性生活无码| 日韩AV小说| 中文字幕首页| 大香蕉伊人综合在线| 伊人无码在线| 高潮视频在线观看| 91大熟女91大腚女人| 吹潮喷水高潮HD| 国产亚洲精品久久久久动| 丁香婷婷色五月激情综合三级三级片欧美日韩国 | 婷婷丁香五月社区亚洲| 草久久| 久久久无码电影| 91大神网址| 亚洲国产黄色视频| a片在线免费观看| 亚洲黄色视频在线免费观看| 91男女| 先锋影音在线资源| 未满十八18禁止免费无码网站| 91视频在| 日韩国产av| 黄色a片在线观看| 中国免费XXXX18| 色婷婷精品| 五月丁香成人电影| 成人三级毛片| 国内毛片毛片毛片毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 日韩精品在线观看免费| 国产高清在线视频| 91逼| 亚洲乱码日产精品BD在线观看 | 2020无码| 超级人人操| 色色色色色色色色欧美| 国产精品欧美性爱| 久久久久麻豆V国产精华液好用吗| 亚洲九九九九| www.伊人大香蕉| 一二三久久| 99热99| 欧美精品欧美精品系列| 色综合中文字幕| 91操操| 亚洲一在线| jizz视频| 神马Aⅴ| 激情五月俺也去| 国产精品国产成人国产三级| 免费的一级A片| 2019人人操| 久久不卡| 影音先锋蜜桃| 日韩无码免费播放| 亚州精品国产精品乱码不99勇敢| 桃花岛tⅴ+亚洲品质| 熟女人妻人妻HD| 日逼导航| 嫰BBB槡BBBB槡BBBB| 亚洲高清无码在线观看| 学生妹一级片内射视频| 俺来也AV| 中文字幕+乱码+中文字幕一区| 亚洲小黄片| 天天玩夜夜玩天天玩国产99| 久久久久久黄色| 亚洲中文在线播放| 五月丁香激情在线| 一级黄色电影在线观看| 伊人私人影院| 久久毛片视频| 成人在线视频免费| 538在线观看| 中国老熟女重囗味HDXX| 一级操逼大片| 天天干天天舔| 黄色视频日韩| 欧美一级黄色大片| 亚洲天堂天天| 亚洲精品久久久久久久久蜜桃 | 一起操影院| 久久青青视频| 最新福利视频| 精品久久一区二区三区四区| 亚洲成人网站在线观看| 免费看日逼视频| 一级欧美一级日韩| 三级毛片在线| 久久在线视频| 黄av在线| 日本人妻视频| 影音先锋男人你懂的| 国产精品揄拍一区二区| aaa在线观看| 大香蕉伊人视频| 91麻豆视频在线观看| 日韩国产在线| 日韩AV高清无码| 亚洲香蕉视频| 国产成人精品av在线观看| 人人人操| 免费观看黄色视频网站| 亚洲秘AV无码一区二区qq群| 囯产精品99久久久久久WWW| 肥臀AV在线| 高清无码视频观看| 黄色免费在线观看网站| 国产色综合视频| 亚洲日韩精品在线视频| 国产AⅤ爽aV久久久久成人| 国产精品欧美日韩| 国产成人99久久亚洲综合精品| 免费无码婬片aaaa| 嫩BBB槡BBBB槡BBBB撒尿-百度 | 福利导航网| 草草影院第一页YYCCC| 国产成人三级| 色五月激情网| 亚洲成人免费福利| 一级片视频在线观看| 干B网| 免费一级电影| 日韩一级成人片| 欧美精品无码久久久精品酒店| 少妇超碰| 东北奇淫老老妇| 俺也操| 久久精品苍井空免费一区二| 亚洲视频二| 一道本一区二区| 中文字幕无码A片| 午夜小电影| 欧美日一区二区三区| 欧美一级特黄A片免费观看| 成人A片一级| 中文在线观看免费视频| 丝袜东京热AV高清| 第四色大香蕉| 在线国产日韩| 黑人干亚洲人| 中文字幕有码在线视频| jlzzzjlzzz国产免费观看| 国产剧情一区二区av在线观看 | 日韩A人人| 亚洲无码999| 成人精品一区二区三区电影| 黄色操逼网站?| 99热免费观看| 超碰福利导航| 俺来也俺去啦欧美www| 大香蕉伊人影院| 777大香蕉| 热久久综合网站| 五月天婷婷在线观看| 亚洲中文字幕免费在线观看| 四川少妇bbbb| 日韩一级一级| 十八禁黄网站| 欧美爱爱网站| youjizzcom日本| 日韩成人一区二区三区| 国产午夜激情视频| 俺去了俺来也| 操操操操操| 亚洲国产日本| 免费一区视频| 黄色亚洲无码| 久久国内视频| 亚洲人妻无码一区| 国产欧美日韩综合在线视频| 欧洲黑人成人A版免费视频| 天天添天天干| 国产毛片777777| 日韩欧美成人网| 亚洲精品秘一区二区三线观看| 亚洲高清成人动漫| 欧美性猛交ⅩXXX乱大交| 伊人五月婷婷| 深爱婷婷| 91草视频| 亚洲乱伦网站| 一区二区三区国产精品| 色色色色色色色色欧美| 中文字幕在线网站| 麻豆成人精品国产免费| AⅤ天堂| 国产人与禽zoz0性伦| 国产激情综合| 乖我硬了让老子cao你小视频| 午夜特级| 国产黄色在线观看| 日韩不卡一区| 激情综合在线| 国产精品99久久免费黑人人妻| 亚洲视频在线播放| 日本无码视频在线观看| 激情五月天综合网| 人妻人人干| 色墦五月丁香| 在线观看免费黄色| www.re99| 亚洲中文无码在线观看| 日本AI高清无码在线观看网址 | 欧美日韩精品在线视频| 宅男噜噜噜66一区二区| aV无码av天天aV天天爽第一| 日本四级片| 日韩中文字幕在线| 97人妻精品一区二区三区| 学生妹一级片| 中文字幕国产AV| 蜜桃久久av一区| 天天色天天撸| av资源播放| 久久久精品电影91| 国产在线一区二区| 久热精品视频在线观看| 亚洲高清无码在线播放| 蜜臀AV一区二区| 午夜精品久久久久久久99热精东 | 精品av在线观看| 国产精品嫩草久久久久yw193 | 亚洲视频在线看| 欧美日韩99| 欧美亚洲日韩国产| 人人摸人人看人人草| 豆花成人网站在线看| 大香蕉伊人电影| 国产欧美欧洲| 男同人到爽无套狂欢| 成人久久久| 婷婷三级片| 久久免费在线视频| 中文字幕日本人妻| 国产欧美综合一区二区| 久久久无码AV| 亚欧洲精品视频| 秋霞精品一区二区三区| 蜜桃视频在线观看18| 亚洲性网| 国产成人精品无码免费| 女生自慰网站在线观看| 国产一级女婬乱免费看| 久久久久久久无码| 老汉AV| 色视频国产| 国产日韩在线播放| 天天色天天干天天| 超碰久热| 超碰在线天天| 99久久国产精| 福利老湿69| 91无码视频在线观看| 午夜无码鲁丝片午夜精品| 婷婷激情五月| 在线观看免费黄色视频| 中文字幕无码AV| 91精品国产综合久久久久久| 国产伦精品一区二区三区妓女| 国产精品扒开腿做爽爽爽A片唱戏| 日韩人妻精品无码制服| 日韩免费网站| 天堂中文字幕| 久久久久久AV| 亚洲精品中文字幕无码| av电影在线观看| 日韩A级毛片| 山东wBBBB搡wBBBB| 91久久精品一区二区三| 欧美日韩国产在线播放| 黄片久久久| 欧美老熟妇乱大交XXXXX| 少妇毛片|