萬能json轉換

2021-06-06 05:30:54 字數 3600 閱讀 5038

方案有兩種:

第一種:轉換類

**如下:

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...