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

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > C# >内容正文

C#

【C#公共帮助类】JsonHelper 操作帮助类, 以后再也不用满地找Json了,拿来直接用...

發(fā)布時(shí)間:2024/4/13 C# 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【C#公共帮助类】JsonHelper 操作帮助类, 以后再也不用满地找Json了,拿来直接用... 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?四個(gè)主要操作類(lèi):JsonConverter 、JsonHelper 、JsonSplit 、AjaxResult

一、JsonConverter:

自定義查詢(xún)對(duì)象轉(zhuǎn)換動(dòng)態(tài)類(lèi)、object動(dòng)態(tài)類(lèi)轉(zhuǎn)換json包、json轉(zhuǎn)換object動(dòng)態(tài)類(lèi)、DataReader轉(zhuǎn)換為Json、DataSet轉(zhuǎn)換為Json、DataTable轉(zhuǎn)成Json、Datatable轉(zhuǎn)換為Json 、格式化字符型日期型布爾型、過(guò)濾特殊字符等

?

using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Linq; using System.Web.Script.Serialization; using System.Collections;namespace Common {public class JsonConverter{/// <summary>/// 自定義查詢(xún)對(duì)象轉(zhuǎn)換動(dòng)態(tài)類(lèi)/// add yuangang by 2015-05-19/// </summary>/// <param name="obj"></param>/// <returns></returns>public static dynamic JsonClass(object obj) {return ConvertJson(Serialize(obj, true));}/// <summary>/// object動(dòng)態(tài)類(lèi)轉(zhuǎn)換json包/// add yuangang by 2015-05-19/// </summary>/// <param name="obj">對(duì)象</param>/// <param name="DateConvert">時(shí)間戳是否轉(zhuǎn)換成日期類(lèi)型</param>/// <returns></returns>public static string Serialize(object obj, bool DateConvert = false){JavaScriptSerializer jss = new JavaScriptSerializer();var str = jss.Serialize(obj);if (DateConvert){str = System.Text.RegularExpressions.Regex.Replace(str, @"\\/Date\((\d+)\)\\/", match =>{DateTime dt = new DateTime(1970, 1, 1);dt = dt.AddMilliseconds(long.Parse(match.Groups[1].Value));dt = dt.ToLocalTime();return dt.ToString("yyyy-MM-dd HH:mm:ss");});}return str;}/// <summary>/// json轉(zhuǎn)換object動(dòng)態(tài)類(lèi)/// add yuangang by 2015-05-19/// </summary>/// <param name="json"></param>/// <returns></returns>public static dynamic ConvertJson(string json){JavaScriptSerializer jss = new JavaScriptSerializer();jss.RegisterConverters(new JavaScriptConverter[] { new DynamicJsonConverter() });dynamic dy = jss.Deserialize(json, typeof(object)) as dynamic;return dy;}/// <summary> /// DataReader轉(zhuǎn)換為Json /// </summary> /// <param name="dataReader">DataReader對(duì)象</param> /// <returns>Json字符串</returns> public static string ToJson(IDataReader dataReader){try{StringBuilder jsonString = new StringBuilder();jsonString.Append("[");while (dataReader.Read()){jsonString.Append("{");for (int i = 0; i < dataReader.FieldCount; i++){Type type = dataReader.GetFieldType(i);string strKey = dataReader.GetName(i);string strValue = dataReader[i].ToString();jsonString.Append("\"" + strKey + "\":");strValue = StringFormat(strValue, type);if (i < dataReader.FieldCount - 1){jsonString.Append(strValue + ",");}else{jsonString.Append(strValue);}}jsonString.Append("},");}if (!dataReader.IsClosed){dataReader.Close();}jsonString.Remove(jsonString.Length - 1, 1);jsonString.Append("]");if (jsonString.Length == 1){return "[]";}return jsonString.ToString();}catch (Exception ex){throw ex;}}/// <summary> /// DataSet轉(zhuǎn)換為Json /// add yuangang by 2015-05-19/// </summary> /// <param name="dataSet">DataSet對(duì)象</param> /// <returns>Json字符串</returns> public static string ToJson(DataSet dataSet){string jsonString = "{";foreach (DataTable table in dataSet.Tables){jsonString += "\"" + table.TableName + "\":" + ToJson(table) + ",";}jsonString = jsonString.TrimEnd(',');return jsonString + "}";}/// <summary> /// DataTable轉(zhuǎn)成Json /// add yuangang by 2015-05-19/// </summary> /// <param name="jsonName"></param> /// <param name="dt"></param> /// <returns></returns> public static string ToJson(DataTable dt, string jsonName){StringBuilder Json = new StringBuilder();if (string.IsNullOrEmpty(jsonName))jsonName = dt.TableName;Json.Append("{\"" + jsonName + "\":[");if (dt.Rows.Count > 0){for (int i = 0; i < dt.Rows.Count; i++){Json.Append("{");for (int j = 0; j < dt.Columns.Count; j++){Type type = dt.Rows[i][j].GetType();Json.Append("\"" + dt.Columns[j].ColumnName.ToString() + "\":" + StringFormat(dt.Rows[i][j] is DBNull ? string.Empty : dt.Rows[i][j].ToString(), type));if (j < dt.Columns.Count - 1){Json.Append(",");}}Json.Append("}");if (i < dt.Rows.Count - 1){Json.Append(",");}}}Json.Append("]}");return Json.ToString();}/// <summary> /// Datatable轉(zhuǎn)換為Json /// add yuangang by 2015-05-19/// </summary> /// <param name="table">Datatable對(duì)象</param> /// <returns>Json字符串</returns> public static string ToJson(DataTable dt){StringBuilder jsonString = new StringBuilder();jsonString.Append("[");DataRowCollection drc = dt.Rows;for (int i = 0; i < drc.Count; i++){jsonString.Append("{");for (int j = 0; j < dt.Columns.Count; j++){string strKey = dt.Columns[j].ColumnName;string strValue = drc[i][j].ToString();Type type = dt.Columns[j].DataType;jsonString.Append("\"" + strKey + "\":");strValue = StringFormat(strValue, type);if (j < dt.Columns.Count - 1){jsonString.Append(strValue + ",");}else{jsonString.Append(strValue);}}jsonString.Append("},");}jsonString.Remove(jsonString.Length - 1, 1);jsonString.Append("]");if (jsonString.Length == 1){return "[]";}return jsonString.ToString();} /// <summary> /// 格式化字符型、日期型、布爾型 /// add yuangang by 2015-05-19/// </summary> /// <param name="str"></param> /// <param name="type"></param> /// <returns></returns> private static string StringFormat(string str, Type type){if (type != typeof(string) && string.IsNullOrEmpty(str)){str = "\"" + str + "\"";}else if (type == typeof(string)){str = String2Json(str);str = "\"" + str + "\"";}else if (type == typeof(DateTime)){str = "\"" + str + "\"";}else if (type == typeof(bool)){str = str.ToLower();}else if (type == typeof(byte[])){str = "\"" + str + "\"";}else if (type == typeof(Guid)){str = "\"" + str + "\"";}return str;}/// <summary> /// 過(guò)濾特殊字符 /// add yuangang by 2015-05-19/// </summary> /// <param name="s"></param> /// <returns></returns> public static string String2Json(String s){StringBuilder sb = new StringBuilder();for (int i = 0; i < s.Length; i++){char c = s.ToCharArray()[i];switch (c){case '\"':sb.Append("\\\""); break;case '\\':sb.Append("\\\\"); break;case '/':sb.Append("\\/"); break;case '\b':sb.Append("\\b"); break;case '\f':sb.Append("\\f"); break;case '\n':sb.Append("\\n"); break;case '\r':sb.Append("\\r"); break;case '\t':sb.Append("\\t"); break;case '\v':sb.Append("\\v"); break;case '\0':sb.Append("\\0"); break;default:sb.Append(c); break;}}return sb.ToString();}public static string GetDataGridJsonByDataSet(DataSet ds, string totalProperty, string root){return GetDataGridJsonByDataTable(ds.Tables[0], totalProperty, root);}public static string GetDataGridJsonByDataTable(DataTable dt, string totalProperty, string root){StringBuilder jsonBuilder = new StringBuilder();jsonBuilder.Append("({\"" + totalProperty + "\":\"" + dt.Rows.Count + "\",");jsonBuilder.Append("\"");jsonBuilder.Append(root);jsonBuilder.Append("\":[");for (int i = 0; i < dt.Rows.Count; i++){jsonBuilder.Append("{");for (int j = 0; j < dt.Columns.Count; j++){jsonBuilder.Append("\"");jsonBuilder.Append(dt.Columns[j].ColumnName);jsonBuilder.Append("\":\"");jsonBuilder.Append(dt.Rows[i][j].ToString());jsonBuilder.Append("\",");}jsonBuilder.Remove(jsonBuilder.Length - 1, 1);jsonBuilder.Append("},");}jsonBuilder.Remove(jsonBuilder.Length - 1, 1);jsonBuilder.Append("]");jsonBuilder.Append("})");return jsonBuilder.ToString();}public static string GetTreeJsonByDataSet(DataSet ds){return GetTreeJsonByDataTable(ds.Tables[0]);}public static string GetTreeJsonByDataTable(DataTable dataTable){DataTable dt = FormatDataTableForTree(dataTable);StringBuilder jsonBuilder = new StringBuilder();jsonBuilder.Append("[");for (int i = 0; i < dt.Rows.Count; i++){jsonBuilder.Append("{");for (int j = 0; j < dt.Columns.Count; j++){jsonBuilder.Append("\'");if (dt.Columns[j].ColumnName == "leaf"){string leafValue = dt.Rows[i][j].ToString();if (!string.IsNullOrEmpty(leafValue)){jsonBuilder.Append(dt.Columns[j].ColumnName);jsonBuilder.Append("\':\'");jsonBuilder.Append(dt.Rows[i][j].ToString());jsonBuilder.Append("\',");}else{jsonBuilder.Remove(jsonBuilder.Length - 1, 1);}}else if (dt.Columns[j].ColumnName == "customUrl"){jsonBuilder.Remove(jsonBuilder.Length - 1, 1);jsonBuilder.Append(dt.Columns[j].ColumnName);jsonBuilder.Append(":\'");jsonBuilder.Append(dt.Rows[i][j].ToString());jsonBuilder.Append("\',");}else{jsonBuilder.Append(dt.Columns[j].ColumnName);jsonBuilder.Append("\':\'");jsonBuilder.Append(dt.Rows[i][j].ToString());jsonBuilder.Append("\',");}}jsonBuilder.Remove(jsonBuilder.Length - 1, 1);jsonBuilder.Append("},");}jsonBuilder.Remove(jsonBuilder.Length - 1, 1);jsonBuilder.Append("]");return jsonBuilder.ToString();}private static DataTable FormatDataTableForTree(DataTable dt){DataTable dtTree = new DataTable();dtTree.Columns.Add("id", typeof(string));dtTree.Columns.Add("text", typeof(string));dtTree.Columns.Add("leaf", typeof(string));dtTree.Columns.Add("cls", typeof(string));dtTree.Columns.Add("customUrl", typeof(string));dtTree.AcceptChanges();for (int i = 0; i < dt.Rows.Count; i++){DataRow drTree = dtTree.NewRow();drTree["id"] = dt.Rows[i]["id"].ToString();drTree["text"] = dt.Rows[i]["text"].ToString();if (dt.Rows[i]["leaf"].ToString() == "Y"){drTree["leaf"] = "true";drTree["cls"] = "file";}else{drTree["cls"] = "folder";}drTree["customUrl"] = dt.Rows[i]["customUrl"].ToString();dtTree.Rows.Add(drTree);}return dtTree;}}/// <summary>/// 動(dòng)態(tài)JSON解析/// add yuangang by 2015-05-19/// </summary>public class DynamicJsonObject : System.Dynamic.DynamicObject{private IDictionary<string, object> Dictionary { get; set; }public DynamicJsonObject(IDictionary<string, object> dictionary){this.Dictionary = dictionary;}public override bool TryGetMember(System.Dynamic.GetMemberBinder binder, out object result){result = this.Dictionary[binder.Name];if (result is IDictionary<string, object>){result = new DynamicJsonObject(result as IDictionary<string, object>);}else if (result is ArrayList && (result as ArrayList) is IDictionary<string, object>){result = new List<DynamicJsonObject>((result as ArrayList).ToArray().Select(x => new DynamicJsonObject(x as IDictionary<string, object>)));}else if (result is ArrayList){result = new List<object>((result as ArrayList).ToArray());}return this.Dictionary.ContainsKey(binder.Name);}}/// <summary>/// 動(dòng)態(tài)JSON轉(zhuǎn)換/// add yuangang by 2015-05-19/// </summary>public class DynamicJsonConverter : JavaScriptConverter{public override object Deserialize(IDictionary<string, object> dictionary, Type type, JavaScriptSerializer serializer){if (dictionary == null)throw new ArgumentNullException("dictionary");if (type == typeof(object)){return new DynamicJsonObject(dictionary);}return null;}public override IDictionary<string, object> Serialize(object obj, JavaScriptSerializer serializer){throw new NotImplementedException();}public override IEnumerable<Type> SupportedTypes{get { return new System.Collections.ObjectModel.ReadOnlyCollection<Type>(new List<Type>(new Type[] { typeof(object) })); }}} }

?

?

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

?

二、JsonHelper:json的輔助類(lèi)

using System.Collections.Generic; using System.Text; using Newtonsoft.Json; using System.Runtime.Serialization.Json; using System.IO;namespace Common {/// <summary>/// 提供了一個(gè)關(guān)于json的輔助類(lèi)/// </summary>public class JsonHelper{#region Method/// <summary>/// 類(lèi)對(duì)像轉(zhuǎn)換成json格式/// </summary> /// <returns></returns>public static string ToJson(object t){return JsonConvert.SerializeObject(t, Newtonsoft.Json.Formatting.Indented, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Include });}/// <summary>/// 類(lèi)對(duì)像轉(zhuǎn)換成json格式/// </summary>/// <param name="t"></param>/// <param name="HasNullIgnore">是否忽略NULL值</param>/// <returns></returns>public static string ToJson(object t, bool HasNullIgnore){if (HasNullIgnore)return JsonConvert.SerializeObject(t, Newtonsoft.Json.Formatting.Indented, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore });elsereturn ToJson(t);}/// <summary>/// json格式轉(zhuǎn)換/// </summary>/// <typeparam name="T"></typeparam>/// <param name="strJson"></param>/// <returns></returns>public static T FromJson<T>(string strJson) where T : class{if (!strJson.IsNullOrEmpty())return JsonConvert.DeserializeObject<T>(strJson);return null;}/// <summary>/// 功能描述:將List轉(zhuǎn)換為Json/// </summary>/// <param name="a"></param>/// <returns></returns>public static string ListToJson(IList<object> a){DataContractJsonSerializer json = new DataContractJsonSerializer(a.GetType());string szJson = "";//序列化using (MemoryStream stream = new MemoryStream()){json.WriteObject(stream, a);szJson = Encoding.UTF8.GetString(stream.ToArray());}return szJson;}#endregion#region Property/// <summary>/// 數(shù)據(jù)狀態(tài)/// </summary>public string Status { get; set; }/// <summary>/// 提示信息/// </summary>public string Msg { get; set; }/// <summary>/// 回傳URL/// </summary>public string ReUrl { get; set; }/// <summary>/// 數(shù)據(jù)包/// </summary>public object Data { get; set; }#endregion} }

?

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

?

三、JsonSplit:判斷字符串是否為Json

using System; using System.Collections.Generic; using System.Linq; using System.Web;namespace Common {/// <summary>/// 判斷字符串是否為JSON/// </summary>public class JsonSplit{private static bool IsJsonStart(ref string json){if (!string.IsNullOrEmpty(json)){json = json.Trim('\r', '\n', ' ');if (json.Length > 1){char s = json[0];char e = json[json.Length - 1];return (s == '{' && e == '}') || (s == '[' && e == ']');}}return false;}public static bool IsJson(string json){int errIndex;return IsJson(json, out errIndex);}public static bool IsJson(string json, out int errIndex){errIndex = 0;if (IsJsonStart(ref json)){CharState cs = new CharState();char c;for (int i = 0; i < json.Length; i++){c = json[i];if (SetCharState(c, ref cs) && cs.childrenStart)//設(shè)置關(guān)鍵符號(hào)狀態(tài)。 {string item = json.Substring(i);int err;int length = GetValueLength(item, true, out err);cs.childrenStart = false;if (err > 0){errIndex = i + err;return false;}i = i + length - 1;}if (cs.isError){errIndex = i;return false;}}return !cs.arrayStart && !cs.jsonStart;}return false;}/// <summary>/// 獲取值的長(zhǎng)度(當(dāng)Json值嵌套以"{"或"["開(kāi)頭時(shí))/// </summary>private static int GetValueLength(string json, bool breakOnErr, out int errIndex){errIndex = 0;int len = 0;if (!string.IsNullOrEmpty(json)){CharState cs = new CharState();char c;for (int i = 0; i < json.Length; i++){c = json[i];if (!SetCharState(c, ref cs))//設(shè)置關(guān)鍵符號(hào)狀態(tài)。 {if (!cs.jsonStart && !cs.arrayStart)//json結(jié)束,又不是數(shù)組,則退出。 {break;}}else if (cs.childrenStart)//正常字符,值狀態(tài)下。 {int length = GetValueLength(json.Substring(i), breakOnErr, out errIndex);//遞歸子值,返回一個(gè)長(zhǎng)度。。。cs.childrenStart = false;cs.valueStart = 0;//cs.state = 0;i = i + length - 1;}if (breakOnErr && cs.isError){errIndex = i;return i;}if (!cs.jsonStart && !cs.arrayStart)//記錄當(dāng)前結(jié)束位置。 {len = i + 1;//長(zhǎng)度比索引+1break;}}}return len;}/// <summary>/// 字符狀態(tài)/// </summary>private class CharState{internal bool jsonStart = false;//以 "{"開(kāi)始了...internal bool setDicValue = false;// 可以設(shè)置字典值了。internal bool escapeChar = false;//以"\"轉(zhuǎn)義符號(hào)開(kāi)始了/// <summary>/// 數(shù)組開(kāi)始【僅第一開(kāi)頭才算】,值嵌套的以【childrenStart】來(lái)標(biāo)識(shí)。/// </summary>internal bool arrayStart = false;//以"[" 符號(hào)開(kāi)始了internal bool childrenStart = false;//子級(jí)嵌套開(kāi)始了。/// <summary>/// 【0 初始狀態(tài),或 遇到“,”逗號(hào)】;【1 遇到“:”冒號(hào)】/// </summary>internal int state = 0;/// <summary>/// 【-1 取值結(jié)束】【0 未開(kāi)始】【1 無(wú)引號(hào)開(kāi)始】【2 單引號(hào)開(kāi)始】【3 雙引號(hào)開(kāi)始】/// </summary>internal int keyStart = 0;/// <summary>/// 【-1 取值結(jié)束】【0 未開(kāi)始】【1 無(wú)引號(hào)開(kāi)始】【2 單引號(hào)開(kāi)始】【3 雙引號(hào)開(kāi)始】/// </summary>internal int valueStart = 0;internal bool isError = false;//是否語(yǔ)法錯(cuò)誤。internal void CheckIsError(char c)//只當(dāng)成一級(jí)處理(因?yàn)镚etLength會(huì)遞歸到每一個(gè)子項(xiàng)處理) {if (keyStart > 1 || valueStart > 1){return;}//示例 ["aa",{"bbbb":123,"fff","ddd"}] switch (c){case '{'://[{ "[{A}]":[{"[{B}]":3,"m":"C"}]}]isError = jsonStart && state == 0;//重復(fù)開(kāi)始錯(cuò)誤 同時(shí)不是值處理。break;case '}':isError = !jsonStart || (keyStart != 0 && state == 0);//重復(fù)結(jié)束錯(cuò)誤 或者 提前結(jié)束{"aa"}。正常的有{}break;case '[':isError = arrayStart && state == 0;//重復(fù)開(kāi)始錯(cuò)誤break;case ']':isError = !arrayStart || jsonStart;//重復(fù)開(kāi)始錯(cuò)誤 或者 Json 未結(jié)束break;case '"':case '\'':isError = !(jsonStart || arrayStart); //json 或數(shù)組開(kāi)始。if (!isError){//重復(fù)開(kāi)始 [""",{"" "}]isError = (state == 0 && keyStart == -1) || (state == 1 && valueStart == -1);}if (!isError && arrayStart && !jsonStart && c == '\'')//['aa',{}] {isError = true;}break;case ':':isError = !jsonStart || state == 1;//重復(fù)出現(xiàn)。break;case ',':isError = !(jsonStart || arrayStart); //json 或數(shù)組開(kāi)始。if (!isError){if (jsonStart){isError = state == 0 || (state == 1 && valueStart > 1);//重復(fù)出現(xiàn)。 }else if (arrayStart)//["aa,] [,] [{},{}] {isError = keyStart == 0 && !setDicValue;}}break;case ' ':case '\r':case '\n'://[ "a",\r\n{} ]case '\0':case '\t':break;default: //值開(kāi)頭。。isError = (!jsonStart && !arrayStart) || (state == 0 && keyStart == -1) || (valueStart == -1 && state == 1);// break;}//if (isError)//{//} }}/// <summary>/// 設(shè)置字符狀態(tài)(返回true則為關(guān)鍵詞,返回false則當(dāng)為普通字符處理)/// </summary>private static bool SetCharState(char c, ref CharState cs){cs.CheckIsError(c);switch (c){case '{'://[{ "[{A}]":[{"[{B}]":3,"m":"C"}]}]#region 大括號(hào)if (cs.keyStart <= 0 && cs.valueStart <= 0){cs.keyStart = 0;cs.valueStart = 0;if (cs.jsonStart && cs.state == 1){cs.childrenStart = true;}else{cs.state = 0;}cs.jsonStart = true;//開(kāi)始。return true;}#endregionbreak;case '}':#region 大括號(hào)結(jié)束if (cs.keyStart <= 0 && cs.valueStart < 2 && cs.jsonStart){cs.jsonStart = false;//正常結(jié)束。cs.state = 0;cs.keyStart = 0;cs.valueStart = 0;cs.setDicValue = true;return true;}// cs.isError = !cs.jsonStart && cs.state == 0;#endregionbreak;case '[':#region 中括號(hào)開(kāi)始if (!cs.jsonStart){cs.arrayStart = true;return true;}else if (cs.jsonStart && cs.state == 1){cs.childrenStart = true;return true;}#endregionbreak;case ']':#region 中括號(hào)結(jié)束if (cs.arrayStart && !cs.jsonStart && cs.keyStart <= 2 && cs.valueStart <= 0)//[{},333]//這樣結(jié)束。 {cs.keyStart = 0;cs.valueStart = 0;cs.arrayStart = false;return true;}#endregionbreak;case '"':case '\'':#region 引號(hào)if (cs.jsonStart || cs.arrayStart){if (cs.state == 0)//key階段,有可能是數(shù)組["aa",{}] {if (cs.keyStart <= 0){cs.keyStart = (c == '"' ? 3 : 2);return true;}else if ((cs.keyStart == 2 && c == '\'') || (cs.keyStart == 3 && c == '"')){if (!cs.escapeChar){cs.keyStart = -1;return true;}else{cs.escapeChar = false;}}}else if (cs.state == 1 && cs.jsonStart)//值階段必須是Json開(kāi)始了。 {if (cs.valueStart <= 0){cs.valueStart = (c == '"' ? 3 : 2);return true;}else if ((cs.valueStart == 2 && c == '\'') || (cs.valueStart == 3 && c == '"')){if (!cs.escapeChar){cs.valueStart = -1;return true;}else{cs.escapeChar = false;}}}}#endregionbreak;case ':':#region 冒號(hào)if (cs.jsonStart && cs.keyStart < 2 && cs.valueStart < 2 && cs.state == 0){if (cs.keyStart == 1){cs.keyStart = -1;}cs.state = 1;return true;}// cs.isError = !cs.jsonStart || (cs.keyStart < 2 && cs.valueStart < 2 && cs.state == 1);#endregionbreak;case ',':#region 逗號(hào) //["aa",{aa:12,}]if (cs.jsonStart){if (cs.keyStart < 2 && cs.valueStart < 2 && cs.state == 1){cs.state = 0;cs.keyStart = 0;cs.valueStart = 0;//if (cs.valueStart == 1)//{// cs.valueStart = 0;//}cs.setDicValue = true;return true;}}else if (cs.arrayStart && cs.keyStart <= 2){cs.keyStart = 0;//if (cs.keyStart == 1)//{// cs.keyStart = -1;//}return true;}#endregionbreak;case ' ':case '\r':case '\n'://[ "a",\r\n{} ]case '\0':case '\t':if (cs.keyStart <= 0 && cs.valueStart <= 0) //cs.jsonStart && {return true;//跳過(guò)空格。 }break;default: //值開(kāi)頭。。if (c == '\\') //轉(zhuǎn)義符號(hào) {if (cs.escapeChar){cs.escapeChar = false;}else{cs.escapeChar = true;return true;}}else{cs.escapeChar = false;}if (cs.jsonStart || cs.arrayStart) // Json 或數(shù)組開(kāi)始了。 {if (cs.keyStart <= 0 && cs.state == 0){cs.keyStart = 1;//無(wú)引號(hào)的 }else if (cs.valueStart <= 0 && cs.state == 1 && cs.jsonStart)//只有Json開(kāi)始才有值。 {cs.valueStart = 1;//無(wú)引號(hào)的 }}break;}return false;}} }

?

?

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

?

四、AjaxResult:前臺(tái)Ajax請(qǐng)求的統(tǒng)一返回結(jié)果類(lèi)

using System.Web.Script.Serialization; namespace Common {/// <summary>/// 前臺(tái)Ajax請(qǐng)求的統(tǒng)一返回結(jié)果類(lèi)/// </summary>public class AjaxResult{private AjaxResult(){}private bool iserror = false;/// <summary>/// 是否產(chǎn)生錯(cuò)誤/// </summary>public bool IsError { get { return iserror; } }/// <summary>/// 錯(cuò)誤信息,或者成功信息/// </summary>public string Message { get; set; }/// <summary>/// 成功可能時(shí)返回的數(shù)據(jù)/// </summary>public object Data { get; set; }#region Errorpublic static AjaxResult Error(){return new AjaxResult(){iserror = true};}public static AjaxResult Error(string message){return new AjaxResult(){iserror = true,Message = message};}#endregion#region Successpublic static AjaxResult Success(){return new AjaxResult(){iserror = false};}public static AjaxResult Success(string message){return new AjaxResult(){iserror = false,Message = message};}public static AjaxResult Success(object data){return new AjaxResult(){iserror = false,Data = data};}public static AjaxResult Success(object data, string message){return new AjaxResult(){iserror = false,Data = data,Message = message};}#endregion/// <summary>/// 序列化/// </summary>/// <returns></returns>public override string ToString(){return new JavaScriptSerializer().Serialize(this);}} }

?

?

常用的一些Json操作類(lèi),留備。會(huì)繼續(xù)為大家分享一些 常用的 公共幫助類(lèi)。

?

原創(chuàng)文章 轉(zhuǎn)載請(qǐng)尊重勞動(dòng)成果?http://yuangang.cnblogs.com

?

轉(zhuǎn)載于:https://www.cnblogs.com/yuangang/p/5468777.html

總結(jié)

以上是生活随笔為你收集整理的【C#公共帮助类】JsonHelper 操作帮助类, 以后再也不用满地找Json了,拿来直接用...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

国产正在播放 | 国产一级高清 | 亚洲欧洲一区二区在线观看 | 日韩高清网站 | 久久xxxx| 国产精品一区一区三区 | 国产精品不卡在线 | 欧美一二三专区 | 亚洲欧洲精品一区二区 | 日韩精品在线视频 | 日韩高清免费在线 | www.夜夜爱 | 伊人黄色网 | 九九精品视频在线看 | 天天躁天天操 | 9久久精品 | 经典三级一区 | 天天舔天天射天天操 | 黄色免费电影网站 | 国产成人福利片 | 日韩丝袜在线观看 | 狠狠久久婷婷 | 国产黄色在线看 | 亚洲欧美日韩国产精品一区午夜 | 97超碰国产精品女人人人爽 | 国产视频中文字幕 | 国产精品一区二区三区99 | 免费观看xxxx9999片 | 久久精品123| 99久久精品费精品 | 在线亚洲激情 | 欧美成年黄网站色视频 | 一区二区三区电影大全 | 最新免费中文字幕 | 麻豆成人精品 | 日韩av成人在线 | 我要看黄色一级片 | 欧美另类xxxxx | 久久国产精品视频 | 日韩免费三区 | 韩国三级av在线 | 日韩中文字幕在线看 | 色婷婷婷| 免费观看久久久 | 国产午夜三级一区二区三 | 夜夜夜夜夜夜操 | 国产在线高清 | 九色琪琪久久综合网天天 | 久久久久久久久综合 | 日韩欧美一区二区三区在线 | 欧美黄在线 | 国产精品色 | 国产v在线 | 中文字幕在线观 | 午夜av在线免费 | 五月婷婷电影网 | 成人aaa毛片| 亚洲一区二区三区在线看 | 久久综合九色综合久99 | 亚洲国产网址 | 亚洲精品美女在线观看 | av在线官网 | 国产精品久久久久久久久久新婚 | 四虎国产精品成人免费影视 | 欧美极品在线播放 | 日韩系列在线观看 | 亚洲欧美成人综合 | av日韩国产 | 玖玖国产精品视频 | 五月婷久 | 成人18视频 | av在线免费网站 | 国产精品精品 | 96视频在线 | 天天干夜夜爱 | 亚洲天堂激情 | 麻豆免费视频网站 | 日韩免费在线视频 | 免费在线播放av电影 | 成年人视频在线 | 天天插天天 | 蜜臀久久99精品久久久无需会员 | 久久线视频 | 麻豆国产露脸在线观看 | 中文字幕精品一区二区三区电影 | 激情五月综合网 | 99热这里有 | 中文字幕久久久精品 | 久草免费电影 | 四虎影院在线观看av | 在线观看免费视频 | 99精品视频免费在线观看 | 激情九九| 精品久久久久久综合 | 波多野结衣一区 | 欧美日韩另类视频 | 中文国产成人精品久久一 | av大全在线 | 极品久久久久久久 | 久久这里只有精品视频首页 | 在线观看视频黄色 | 亚洲精品视频在线观看网站 | av中文字幕网站 | 久久久99国产精品免费 | 日韩一级黄色大片 | 天天看天天干天天操 | 久久久影院一区二区三区 | 国产中文伊人 | 亚洲国产精品电影在线观看 | 久久久99精品免费观看app | 久久草网| 国产美女精品视频免费观看 | 国产久视频| 美女免费av | 五月天中文字幕mv在线 | 久久久亚洲精华液 | 久久综合久久久 | 亚洲午夜精品福利 | 丁香六月激情婷婷 | 亚洲va天堂va欧美ⅴa在线 | 精品成人a区在线观看 | 亚洲人av免费网站 | 国产夫妻性生活自拍 | 亚洲综合成人在线 | 亚洲三级视频 | 日韩欧美精品在线 | 天天色天天操综合 | 成年美女黄网站色大片免费看 | 国产午夜精品一区二区三区在线观看 | 欧美片网站yy | 九九激情视频 | 久草在线精品观看 | 国产麻豆精品在线观看 | 中文字幕欧美日韩va免费视频 | 国产亚洲精品久久久久久 | 欧美日韩在线视频免费 | 国产xx在线 | 国产一区二区不卡视频 | 久久在线播放 | 国产一区免费在线 | 91av电影在线| 日韩理论电影网 | 国产精品高潮久久av | 国产二区精品 | 国产亚洲视频中文字幕视频 | 青青草在久久免费久久免费 | 国产亚洲精品bv在线观看 | av电影久久| 国产在线观看污片 | www国产亚洲精品 | 亚洲国产免费网站 | 免费看一级| 国产小视频免费在线网址 | 国产不卡视频在线播放 | 成人影片在线播放 | 玖玖视频在线 | 69av国产| 亚洲精品国产免费 | 日韩黄色一区 | 亚洲午夜久久久综合37日本 | 日韩免费在线 | 最近中文字幕免费av | 91精品视频在线免费观看 | 国产精品爽爽久久久久久蜜臀 | 国产精品理论在线观看 | 久久久麻豆| 福利视频一区二区 | 天天草综合 | 日韩欧美在线中文字幕 | 国产精品免费一区二区 | 国产精品一区免费在线观看 | 永久av免费在线观看 | 超碰97国产在线 | 欧美激情另类 | av黄色免费在线观看 | 亚洲国产精品视频 | 91丨九色丨蝌蚪丨对白 | 成人在线视频观看 | 国产码电影 | www久久com| 日日碰夜夜爽 | 成人av网址大全 | 正在播放久久 | 欧美最猛性xxxxx(亚洲精品) | 免费av黄色 | 午夜丁香视频在线观看 | 激情五月***国产精品 | 久久综合色播五月 | 久久成人免费视频 | 久久久久久久久黄色 | 91男人影院 | 亚洲国产中文字幕在线 | 爱情影院aqdy鲁丝片二区 | 国产无吗一区二区三区在线欢 | 国产精品久久 | 成人欧美亚洲 | 五月激情电影 | h久久| 午夜天使 | 久久综合狠狠综合久久综合88 | 欧美精品xx| 中文字幕一区二区三区四区在线视频 | 国产一级免费在线观看 | 麻豆精品在线视频 | 婷婷亚洲综合 | 98久久 | 91九色国产视频 | 午夜影院一级 | 超碰在线人人草 | 四虎成人免费观看 | 狠狠黄 | 这里只有精彩视频 | 国模视频一区二区三区 | 欧美性色综合 | 成人av免费看 | av大全在线观看 | 狠狠干夜夜操 | 欧美日韩成人一区 | 四虎5151久久欧美毛片 | 久久免费黄色网址 | 日本激情动作片免费看 | 色视频网站在线观看一=区 a视频免费在线观看 | 免费看的黄网站软件 | 黄色国产精品 | 高潮毛片无遮挡高清免费 | 亚洲午夜精品一区二区三区电影院 | 久久精品91视频 | 亚洲成人资源在线观看 | 黄色小说在线免费观看 | 日韩av有码在线 | 国产日韩在线播放 | 亚洲精品成人网 | 99久久99久国产黄毛片 | 99热都是精品 | 欧美一区二区视频97 | 色婷婷视频网 | 中文字幕在线看视频 | 在线中文字幕电影 | 夜夜爽夜夜操 | 一级黄色片在线 | 亚洲最新毛片 | a视频在线观看免费 | 国产成人av网站 | 97视频免费在线看 | 欧美极度另类 | 日日干日日操 | 美女久久久 | 国产麻豆精品免费视频 | 丁香六月激情婷婷 | 日本公妇在线观看 | 日韩视频中文 | 人人爽人人搞 | 欧美精品在线观看 | 丁香婷婷久久久综合精品国产 | 99热国产在线观看 | 四虎小视频 | 九九在线国产视频 | 亚洲成人资源在线观看 | 久久精品视频4 | 成人国产精品免费观看 | 91成人亚洲 | 午夜精品一区二区国产 | 69视频在线播放 | 国产91小视频 | 久热超碰 | 81精品国产乱码久久久久久 | 免费人人干 | 国产色婷婷在线 | 在线观看亚洲专区 | 免费a网 | 亚洲一二区精品 | 亚洲色图 校园春色 | 一区二区精品 | av在线免费观看网站 | 成片免费观看视频大全 | 日韩xxxbbb| www.亚洲精品在线 | 日韩av在线高清 | 99色在线播放 | 亚洲在线不卡 | 在线观看韩国av | 亚洲成a人片77777kkkk1在线观看 | 1000部18岁以下禁看视频 | 中文字幕日韩在线播放 | 99热在| 日韩欧美一区二区三区黑寡妇 | 在线观看网站你懂的 | av网站在线观看播放 | 国产精品久久久久久久免费观看 | 日韩久久精品一区二区三区 | 啪啪午夜免费 | 日韩一区二区三区高清免费看看 | av成人在线播放 | 国产精品孕妇 | 日本中文字幕在线免费观看 | 日日干夜夜草 | 久久理伦片 | 美女久久精品 | 成人a免费 | 久久伊人色综合 | 操操操人人| 久热免费 | 免费高清在线视频一区· | 精品国产免费人成在线观看 | 日韩中文字幕在线不卡 | 国产日韩欧美综合在线 | 亚洲综合在线五月 | 色综久久 | 欧美在线你懂的 | 亚洲视频在线免费看 | wwxxxx日本 | 91精品伦理 | 国产精品系列在线观看 | 亚洲国产精品激情在线观看 | 中文字幕 91 | 亚洲日韩中文字幕 | 精品视频一区在线 | 国产大陆亚洲精品国产 | 波多野结衣在线观看视频 | 91插插插免费视频 | 免费一级特黄毛大片 | 91理论电影 | www黄| 欧美视屏一区二区 | 中文字幕在线观看av | 成人一级电影在线观看 | 精品在线视频一区二区三区 | 香蕉视频4aa | 国产69精品久久久久久 | 国产精品视频免费在线观看 | 日日干网址 | 久久综合五月天婷婷伊人 | 视频99爱| 丁香五月网久久综合 | 91精品啪在线观看国产81旧版 | 婷婷精品国产一区二区三区日韩 | 91在线影视 | 99久高清在线观看视频99精品热在线观看视频 | 激情网综合 | 91av影视| 国产免费a | 婷婷在线看 | 国产亚洲精品xxoo | av大片免费在线观看 | 日韩欧美在线高清 | 亚洲国产精品va在线 | 国产在线专区 | 久久精品欧美 | 国产麻豆视频网站 | 精品国产乱码久久 | 亚洲精品久久久久999中文字幕 | 婷婷网址 | 五月婷网站 | 国产97在线看 | 欧美日韩中文另类 | 日韩欧美综合在线视频 | 999久久国精品免费观看网站 | 精品国产欧美一区二区 | 综合天堂av久久久久久久 | 国内精品小视频 | 美女视频国产 | 91福利在线观看 | 日本三级人妇 | 亚洲天天干| 99精品欧美一区二区 | av电影免费在线看 | 国产v欧美 | 99热这里有 | 国产精品五月天 | 久久特级毛片 | 成人在线观看影院 | 国产福利a | 国产品久精国精产拍 | 国内小视频 | 人人精品| 婷婷精品国产欧美精品亚洲人人爽 | 国产玖玖在线 | 丁香九月激情 | 99久久精品国产免费看不卡 | 999国内精品永久免费视频 | 免费高清影视 | 精品国产成人av在线免 | 久久综合九色综合欧美就去吻 | 人人澡人人舔 | 国产不卡视频在线播放 | 免费视频网 | 六月色婷| 日韩不卡高清视频 | 91精品国产高清自在线观看 | 99麻豆久久久国产精品免费 | 国产精品 亚洲精品 | 亚洲伊人第一页 | 91精品婷婷国产综合久久蝌蚪 | 欧日韩在线 | 在线观看国产一区二区 | 五月天,com | 久久精品国产精品亚洲精品 | 五月情婷婷 | 久草免费在线观看视频 | 日韩中文在线字幕 | 国产 一区二区三区 在线 | 精品国模一区二区 | 国产一二三四在线观看视频 | 美女免费电影 | 99视频在线精品免费观看2 | 久草电影在线观看 | 久久久久久久久久久影院 | 特级大胆西西4444www | 特级a老妇做爰全过程 | 亚洲国产精品影院 | 国产亚洲免费观看 | 国产成人在线综合 | 久在线观看 | 免费看在线看www777 | 中文字幕日韩国产 | www.色在线| 国产精品久久久777 成人手机在线视频 | 欧美一区二区在线刺激视频 | 国产精品欧美精品 | 免费精品在线观看 | www.国产毛片 | 中文字幕av影院 | 免费看黄色小说的网站 | 欧美在线18| 人人舔人人干 | 97精品在线| 日韩乱码在线 | av不卡在线看 | 国产成人精品在线播放 | 国产伦理久久精品久久久久_ | 免费日韩一级片 | 91成人网在线观看 | 91午夜精品| 欧美日韩国产一区二区三区 | 成人av视屏 | 日韩免费成人 | 国产一级特黄毛片在线毛片 | 玖玖在线视频观看 | 五月婷婷视频在线观看 | 日韩精品免费在线观看 | 天天色天天上天天操 | 亚洲视频精品在线 | 一本大道久久精品懂色aⅴ 五月婷社区 | 亚洲最快最全在线视频 | 日日操天天操狠狠操 | 日韩在线视频免费播放 | 去看片 | 国产视频亚洲 | 亚洲日本va午夜在线影院 | 国产原创av片 | 黄色的视频网站 | 中国一级片在线观看 | 国产美女精品视频 | 欧美精品久久99 | 日韩国产精品毛片 | 四虎成人免费影院 | 日韩大片在线免费观看 | 日韩一区二区免费视频 | 久青草视频在线观看 | 久久久久久久久久久久亚洲 | 美女网站一区 | 国产精品第72页 | 天天天天干 | 美女黄濒 | 久草视频资源 | 国产精品久久久久久久久久新婚 | 日韩精品一区二区在线观看视频 | 天天干天天干天天干 | 91一区啪爱嗯打偷拍欧美 | 欧美色婷婷 | 久久久久久久久艹 | 国产精品免费在线视频 | 亚洲视频第一页 | 亚洲涩涩一区 | 日产乱码一二三区别在线 | 深夜国产福利 | 在线观看不卡视频 | 久久99国产精品久久 | 国产日韩视频在线播放 | 亚州av成人 | 韩国三级在线一区 | 色99色| 一级黄色电影网站 | 亚洲电影av在线 | 国产精品2018| 操操操av| 99国产精品免费网站 | 亚洲一级黄色 | 看片网站黄 | 国产高清视频在线 | a√资源在线 | 一区二区亚洲精品 | www.午夜色.com | 少妇资源站| 日韩免费观看av | 波多野结衣小视频 | 91在线看免费 | 日韩电影中文字幕 | 国产精品人人做人人爽人人添 | 日日干夜夜草 | 欧美巨大| 国产精品美女久久久久久久久久久 | 久久只精品99品免费久23小说 | 久久久久国产精品午夜一区 | 蜜臀av性久久久久蜜臀av | h网站免费在线观看 | 欧美日韩一区二区久久 | 天天搞天天 | 久久免费视频99 | 99成人在线视频 | 99人成在线观看视频 | 中文字幕在线视频免费播放 | 亚洲精品综合一二三区在线观看 | 国产精品视频地址 | 成人av免费 | 成人免费网视频 | 国产精品不卡av | 中文av不卡 | 日韩r级在线 | 国产人成精品一区二区三 | 九九视频在线观看视频6 | 日韩和的一区二在线 | 丁香婷婷在线 | 人人爱在线视频 | 亚洲成人免费在线 | 蜜臀av夜夜澡人人爽人人桃色 | 色偷偷网站视频 | 亚洲欧美国产视频 | 99精品欧美一区二区三区黑人哦 | 夜夜骑首页 | 精品国产福利在线 | av三区在线 | 国产精品一区二区久久国产 | 337p西西人体大胆瓣开下部 | 国产精品一区二区三区在线 | 欧美日韩1区2区 | 91手机电视 | 亚洲国产精品成人va在线观看 | 亚洲日本成人 | 国产精品美女久久久久久网站 | 午夜骚影| 欧美日韩国产二区 | 欧美一区中文字幕 | 国产精品日韩在线播放 | 西西www444| 国产精品福利在线播放 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 夜夜操综合网 | 超碰97免费| 美女黄频在线观看 | 碰超在线观看 | 美女视频黄是免费的 | 俺要去色综合狠狠 | 精品中文字幕在线 | 天天色天天操天天爽 | 久久国产精品二国产精品中国洋人 | 日韩在线首页 | 爱射综合 | va视频在线观看 | 看国产黄色大片 | 亚洲视频 一区 | 亚洲精品一区二区三区高潮 | 国产精品久久婷婷六月丁香 | 久久免费黄色大片 | 国产精品女人久久久 | 国产免费区 | 亚洲精品videossex少妇 | 久久综合偷偷噜噜噜色 | 成人影片免费 | 婷婷丁香色 | 欧美日韩伦理在线 | 国产成人精品一区二区在线观看 | 中文字幕888| 中文字幕字幕中文 | 18久久久 | 成人a级网站 | av高清不卡 | 一区二区 久久 | 国产中文伊人 | 国产成人福利在线 | 久久男人中文字幕资源站 | 久久视频国产 | 免费在线国产黄色 | 欧美亚洲成人xxx | av一区在线 | 人人爽人人片 | 久久97久久97精品免视看 | 亚洲狠狠 | 看av免费 | 久久婷婷一区二区三区 | 91免费高清视频 | 国产综合香蕉五月婷在线 | 99国内精品| a√天堂资源 | 碰超人人 | 91麻豆精品国产午夜天堂 | 91福利视频一区 | 三级黄色免费 | 精品自拍网 | 日韩精品中文字幕在线不卡尤物 | 日韩欧美一区视频 | 91亚洲国产 | 日韩精品中文字幕在线不卡尤物 | 2021国产精品| 免费一区在线 | 成年人在线观看视频免费 | 亚洲六月丁香色婷婷综合久久 | 国产精品成人国产乱 | 一区二区电影网 | 国产精品乱码久久久久久1区2区 | 亚洲精品无 | 久久精品国产成人精品 | 久久不射影院 | 一级欧美黄 | 99精品一区二区 | 久草国产在线 | 国产一区二区三区久久久 | 婷婷资源站| 欧美久久久久 | 美女黄视频免费看 | 日韩高清网站 | 操夜夜操| 亚洲黄色免费观看 | 超级碰碰免费视频 | 国产精品久久久久久久av电影 | 亚洲一级电影视频 | 亚洲精品一区中文字幕乱码 | 日韩久久视频 | 国内精品久久久久 | 日韩黄色网络 | 999日韩 | 在线性视频日韩欧美 | 国产123av| 男女拍拍免费视频 | 亚洲最新av在线网站 | 欧美日韩久久不卡 | 最新日韩中文字幕 | 色在线中文字幕 | 91一区啪爱嗯打偷拍欧美 | 人人玩人人爽 | 伊人五月天| 岛国av在线不卡 | 国产在线观看免费av | 综合久久久久久久久 | 成人小视频在线观看免费 | 午夜精品久久久99热福利 | 午夜黄色一级片 | 日韩电影中文字幕在线 | 91专区在线观看 | 日本三级吹潮在线 | 国产精品第72页 | 日韩免费观看高清 | 亚洲情感电影大片 | 激情 婷婷 | 九九久久在线看 | 五月精品 | 国产中文欧美日韩在线 | 国产精品爽爽爽 | 成人黄色在线观看视频 | 99久久er热在这里只有精品15 | 一级片视频在线 | a级国产乱理论片在线观看 伊人宗合网 | 日韩三级中文字幕 | 99精品视频在线观看播放 | www.91av在线 | 亚洲国产小视频在线观看 | 亚洲综合射 | 在线超碰av | 日韩精品视频在线观看网址 | 国产淫片 | 亚洲国产精品第一区二区 | www.天天干.com| 久久视频免费看 | 国产成人精品亚洲a | 88av色| 麻豆国产在线播放 | 国产黄色精品在线 | 国产黄影院色大全免费 | 深夜视频久久 | 亚洲成人欧美 | 国产精品一区二区三区在线 | 99在线精品视频观看 | 色噜噜日韩精品欧美一区二区 | 国产中年夫妇高潮精品视频 | 国产美女黄网站免费 | 欧美成人h版 | 麻豆传媒精品 | av免费看网站 | 久久久国产影视 | 国产香蕉视频在线观看 | 少妇啪啪av入口 | 超碰在线免费97 | 午夜精品福利一区二区三区蜜桃 | 亚洲精品乱码久久久一二三 | 视频在线观看入口黄最新永久免费国产 | 韩国av永久免费 | 天天操月月操 | 国产欧美最新羞羞视频在线观看 | 中文字幕一区av | 国产永久免费观看 | 国产精品无 | 99免费观看视频 | 亚洲电影在线看 | 亚洲精品欧美专区 | 97超碰在线久草超碰在线观看 | 玖玖玖国产精品 | 久久综合五月天婷婷伊人 | 国产中文字幕在线观看 | 久久精品久久久精品美女 | 天天色影院 | 国精产品一二三线999 | 欧美看片 | 精品国产一区二区三区久久影院 | 国产高清无线码2021 | 日韩精品不卡在线 | 欧美精品你懂的 | 日免费视频 | 97视频成人| 久久综合久久88 | 日韩精品一区二区在线观看 | 一区二区视频电影在线观看 | 色偷偷人人澡久久超碰69 | 国产成人性色生活片 | 色先锋av资源中文字幕 | 免费看成人片 | 天天色天天干天天 | 日韩专区在线播放 | 夜色资源站wwwcom | 久章草在线观看 | 国产黄色片免费观看 | 欧美日韩精品国产 | 国产精品久久久久免费观看 | 国产亚洲成人精品 | 国产99久久99热这里精品5 | 欧美 日韩 国产 中文字幕 | 免费看黄视频 | 国产一区网 | 91精品国产高清自在线观看 | 天天拍夜夜拍 | 97精品免费视频 | 久久伦理影院 | 97色综合| 精品国产精品国产偷麻豆 | 欧美激情一区不卡 | 国产1区2区 | 波多野结衣在线视频免费观看 | 伊人色综合久久天天网 | 亚洲天堂免费视频 | 国产麻豆剧果冻传媒视频播放量 | 99精品视频免费看 | 久久国产剧场电影 | 免费观看xxxx9999片 | 精品免费观看 | 国产精品av久久久久久无 | 国产在线高清 | www.久久色| av网站免费线看精品 | 久久久久综合 | 98久久| 成年人免费看的视频 | 热热热热热色 | 亚洲人成网站精品片在线观看 | 国产流白浆高潮在线观看 | 久久国产精品99国产精 | 日韩在线观看小视频 | 亚洲午夜精 | 天天操天天操天天操天天操天天操天天操 | 国产午夜av | 国产精品你懂的在线观看 | 欧洲精品视频一区 | 香蕉免费在线 | 99热精品久久 | 日韩黄视频 | 热久久免费视频 | 在线观看国产麻豆 | 国产精品对白一区二区三区 | 国产中文字幕91 | 丁香色综合 | 精品国产欧美一区二区三区不卡 | 国产成年免费视频 | 中文字幕色站 | 黄免费网站 | 1区2区视频| 欧美日韩一区二区在线观看 | 亚洲人xxx| 国产黄色片免费 | 亚洲激情久久 | 亚洲视屏一区 | 超碰97网站 | 久久全国免费视频 | 日本最新高清不卡中文字幕 | 国产成人精品av久久 | 亚洲国产操 | 欧美aaa视频 | 日韩毛片在线一区二区毛片 | 久久99精品久久久久蜜臀 | 国产理论片在线观看 | 狠狠色丁香婷综合久久 | 99视频免费在线观看 | 日韩精品免费在线播放 | 欧美粗又大| 国产精品门事件 | 99国产一区 | 亚洲成人av在线电影 | 少妇按摩av | 国产一区二区三精品久久久无广告 | 中文字幕日韩电影 | 久久久午夜精品福利内容 | 午夜三级福利 | 一区二区三区日韩在线 | 亚洲干视频在线观看 | 中文字幕乱在线伦视频中文字幕乱码在线 | 欧美黄网站 | 国产欧美精品在线观看 | 青春草国产视频 | 日韩激情第一页 | 伊人精品影院 | 久日精品| 国产精品一区二区免费在线观看 | 欧美日韩国产精品久久 | 国产午夜免费视频 | 色噜噜狠狠狠狠色综合久不 | 日韩一区二区三区高清在线观看 | 九九日九九操 | 热99久久精品 | 亚洲黄色在线观看 | 日韩网站一区二区 | 九九日九九操 | 亚洲激情一区二区三区 | 国产xxxx做受性欧美88 | 国产最新福利 | 国产精品福利无圣光在线一区 | 国产精品美女免费视频 | 在线一二三四区 | 成年人黄色免费视频 | 久久久久久久久久网站 | 亚洲国产成人在线 | 日日射天天射 | 97热久久免费频精品99 | 久久av中文字幕片 | 久久国产精品影片 | 波多野结衣一区二区三区中文字幕 | 91人人澡人人爽人人精品 | 人人操日日干 | 在线视频 你懂得 | 亚洲精品999 | 中文字幕丝袜一区二区 | 成人av中文字幕在线观看 | 日韩av中文字幕在线 | 91精品国产电影 | 99视频在线观看视频 | 欧美色综合久久 | 久久99精品久久久久久 | 国产日韩精品在线观看 | 久久不卡视频 | 91精品视频免费 | 久久国产免 | 狠狠色丁香久久婷婷综合丁香 | www.色五月| 91自拍视频在线 | 91精品入口| 成人免费 在线播放 | 中文永久免费观看 | 亚洲女同videos| 久久久久久久电影 | 国产97视频在线 | 国产91免费在线观看 | 奇米7777狠狠狠琪琪视频 | 精品久久五月天 | 973理论片235影院9 | 99久久99| 99人成在线观看视频 | 四虎影视成人永久免费观看亚洲欧美 | 国产精品丝袜在线 | 日韩不卡高清 | 国产精品 日韩精品 | 久久精品亚洲综合专区 | 免费看片网址 | 国产一区av在线 | 人人精久 | 麻豆精品视频在线 | 久久精品国产成人精品 | 亚洲aⅴ免费在线观看 | 亚洲国产精品一区二区久久hs | 久久99婷婷 | 国产一区二区观看 | 99精品免费在线观看 | 久视频在线 | 超碰97免费在线 | 探花视频在线版播放免费观看 | 天天色成人 | 欧美狠狠操 | 狠狠色狠狠色综合日日小说 | 干狠狠| 久草免费在线观看视频 | 国产色久 | 成人三级网站在线观看 | 天天色成人网 | 岛国av在线不卡 | 国产3p视频| 日韩,中文字幕 | 久久在线影院 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 亚洲精品美女久久 | 久草在线免费资源 | 亚洲国产黄色 | 五月黄色 | 成人日韩av | 国产精品激情在线观看 | 国产 字幕 制服 中文 在线 | 狠狠色狠狠色综合系列 | 成人小视频在线观看免费 | 精品国产黄色片 | 最新黄色av网址 | 丁香六月婷婷激情 | 高清不卡一区二区在线 | 97品白浆高清久久久久久 | 欧美射射射| 97视频在线观看视频免费视频 | 久久久国产毛片 | 日韩婷婷 | 日韩精品视频第一页 | 亚洲春色奇米影视 | 国产精品午夜久久 | 国产精品免费不 | 精品综合久久 | a在线播放 | 天天爽网站 | 97香蕉久久超级碰碰高清版 | 久久综合福利 | 亚洲欧洲国产精品 | 日本久久高清视频 | 国产剧情一区二区在线观看 | 狠狠色丁香久久婷婷综合丁香 | av片一区二区 | 天天人人综合 | 激情av在线资源 | 激情综合网五月婷婷 | 一级做a爱片性色毛片www | 中文字幕久久精品一区 | 亚洲女欲精品久久久久久久18 | 91精品国 | 亚洲综合在线发布 | 99免在线观看免费视频高清 | 最新中文字幕 | 国色天香在线观看 | 在线精品观看国产 | 日韩视频在线不卡 | 欧美a级在线免费观看 | av+在线播放在线播放 | 玖玖国产精品视频 | 国产小视频在线免费观看视频 | 狠狠狠色丁香婷婷综合激情 | 人人爱人人做人人爽 | 成人在线一区二区三区 | av网站免费线看精品 | 欧美黑人xxxx猛性大交 | 成人免费xyz网站 | 亚洲日日日 | 色婷婷亚洲 | 一区二区三区免费在线观看视频 | 国产精品av免费在线观看 | 欧美孕交vivoestv另类 | 久久超碰99| 亚洲国产精品传媒在线观看 | 在线观看你懂的网址 | 在线激情网 | 婷婷六月网 | 在线色视频小说 | 五月婷婷毛片 | 久久精品亚洲精品国产欧美 | 激情综合网婷婷 | 久草视频中文在线 | 国产高清区 | 精品国产一区二区三区av性色 | 久久综合电影 | 国产精品久久久久久久妇 | 成人h视频在线播放 | 精品主播网红福利资源观看 | 在线观看国产福利片 | 婷婷四房综合激情五月 | 久久精品麻豆 | 国产区精品区 | 国产黄色成人av | 西西444www大胆高清图片 | 欧美日韩视频一区二区三区 | 一区二区三区四区免费视频 | 久草在线高清 | 天天激情天天干 | 久久中文欧美 | 久一在线 | 国产精品欧美日韩在线观看 | 久久精品一区二区三 | 国产精品一区二区在线观看免费 | a v在线观看 | 国产一级片在线播放 | 日韩欧在线 | 91黄在线看 |