方案有兩種:
第一種:轉換類
**如下:
public static class jsonhelper
///
/// 序列化單個物件
///
public static string jsonserializerbysingledata(t t)
///
/// 反序列化單個物件
///
public static t jsondeserializebysingledata(string jsonstring)
-\d-\d\s\d:\d:\d";
matchevaluator matchevaluator = new matchevaluator(convertdatestringtojsondate);
regex reg = new regex(p);
jsonstring = reg.replace(jsonstring, matchevaluator);
datacontractjsonserializer ser = new datacontractjsonserializer(typeof(t));
memorystream ms = new memorystream(encoding.utf8.getbytes(jsonstring));
t obj = (t)ser.readobject(ms);
return obj;
}///
/// 反序列化集合物件
///
public static t jsondeserializebyarraydata(string jsonstring)
-\d-\d\s\d:\d:\d";
matchevaluator matchevaluator = new matchevaluator(convertdatestringtojsondate);
regex reg = new regex(p);
jsonstring = reg.replace(jsonstring, matchevaluator);
datacontractjsonserializer ser = new datacontractjsonserializer(typeof(t));
memorystream ms = new memorystream(encoding.utf8.getbytes(jsonstring));
t arrayobj = (t)ser.readobject(ms);
return arrayobj;
}///
/// 將json序列化的時間由/date(1294499956278+0800)轉為字串
///
private static string convertjsondatetodatestring(match m)
///
/// 將時間字串轉為json時間
///
private static string convertdatestringtojsondate(match m)
+0800)\\/", ts.totalmilliseconds);
return result;
}///
/// list轉成json
///
///
///
///
public static string listtojson(ilistlist)
///
/// 物件轉換為json字串
///
/// 物件
/// json字串
public static string tojson(object jsonobject)
stringbuilder value = new stringbuilder();}}
///
/// 物件集合轉換json
///
/// 集合物件
/// json字串
public static string tojson(ienumerable array)
if (jsonstring.length > 1)
else
return jsonstring + "]";
}///
/// 普通集合轉換json
///
/// 集合物件
/// json字串
public static string toarraystring(ienumerable array)
///
/// datatable轉換為json
///
/// datatable物件
/// json字串
public static string tojson(datatable dt)
return jsonstring.tostring();
}///
/// datatable轉成json
///
///
///
///
public static string tojson(datatable dt, string jsonname)
///
/// datareader轉換為json
///
/// datareader物件
/// json字串
public static string tojson(idatareader datareader)
jsonstring.remove(jsonstring.length - 1, 1);
if (jsonstring.length == 1)
return jsonstring.tostring();
}catch (exception ex)
}///
/// dataset轉換為json
///
/// dataset物件
/// json字串
public static string tojson(dataset dataset)
jsonstring = jsonstring.trimend(',');
return jsonstring + "}";
///
/// 過濾特殊字元
///
///
///
public static string string2json(string s)
else if (type == typeof(string))
else if (type == typeof(datetime))
else if (type == typeof(bool))
else if (type == typeof(byte))
else if (type == typeof(guid))
return str;
}public static void registajax(htmlhead header, type type)
}第二種:newtonsoft.json.dll
使用方法見附件:
萬能密碼 php,PHP萬能密碼
說實話如果乙個 的前台都是注入漏洞,那麼憑經驗,萬能密碼進後台的機率基本上是百分之百。可是有的人說對php的站如果是gpc魔術轉換開啟,就會對特殊符號轉義,就徹底杜絕了php注入。其實說這話的人沒有好好想過,更沒有嘗試過用萬能密碼進php的後台。其實gpc魔術轉換是否開啟對用萬能密碼進後台一點影響也...
萬能轉換器boost lexical cast
boost lexical cast為數值之間的轉換 conversion 提供了一攬子方案,比如 將乙個字串 123 轉換成整數123,如下 string s 123 int a lexical cast int s 這種方法非常簡單,筆者強烈建議大家忘掉std諸多的函式,直接使用boost le...
萬能轉換器boost lexical cast
萬能轉換器boost lexical cast boost lexical cast為數值之間的轉換 conversion 提供了一攬子方案,比如 將乙個字串 123 轉換成整數123,如下 string s 123 int a lexical cast s 這種方法非常簡單,筆者強烈建議大家忘掉s...