/// <summary>
/// 將json轉(zhuǎn)化成對象
/// </summary>
/// <param name="strjson"></param>
/// <returns></returns>
public static object DeserializeObject2(string strjson){
var ser = new JavaScriptSerializer();
return ser.DeserializeObject(strjson);
}
/// <summary>
/// json反系列化
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="jsonText"></param>
/// <returns></returns>
public static T JSONToObject<T>(string jsonText)
{
System.Web.Script.Serialization.JavaScriptSerializer jss = new System.Web.Script.Serialization.JavaScriptSerializer();
try
{
return jss.Deserialize<T>(jsonText);
}
catch (Exception ex)
{
throw new Exception("JSONHelper.JSONToObject(): " + ex.Message);
}
}
/// <summary>
/// JSON反序列化
/// 這個可以將對象反系列化成集合任何asp.net,C#對象
/// </summary>
public static T JsonDeserialize<T>(string jsonString)
{ DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString));
T obj = (T)ser.ReadObject(ms);
return obj;
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.Script.Serialization;
namespace Woo.Utility
{
/// <summary>
/// 用于標(biāo)識可以Json
/// </summary>
public interface IJson
{
}
/// <summary>
/// Json擴展方法
/// </summary>
public static class JsonExtensions
{
/// <summary>
/// 返回JSON字符串
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public static string ToJSON(this IJson obj)
{
var ser = new JavaScriptSerializer();
return ser.Serialize(obj);
}
/// <summary>
/// 返回JSON字符串
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public static string ToJSON(this IEnumerable<IJson> obj)
{
var ser = new JavaScriptSerializer();
return ser.Serialize(obj);
}
/// <summary>
/// 返回JSON字符串
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public static string ToJSON(dynamic obj)
{
var ser = new JavaScriptSerializer();
return ser.Serialize(obj);
}
/// <summary>
/// 返回JSON字符串
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public static string ToJSON(this IEnumerable<Woo.Model.IEntity> obj)
{
var lst = obj.Select(a => a.ToJsonObject());
var ser = new JavaScriptSerializer();
return ser.Serialize(lst);
}
/// <summary>
/// 返回JSON字符串
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public static string ToJSON(this Woo.Model.IEntity obj)
{
var ser = new JavaScriptSerializer();
return ser.Serialize(obj.ToJsonObject());
}
/// <summary>
/// 返回JSON字符串
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public static string ToJSON(this Dictionary<string, object> obj)
{
var ser = new JavaScriptSerializer();
return ser.Serialize(obj);
}
/// <summary>
/// 返回JSON字符串
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public static string ToJSON(this IEnumerable<Dictionary<string, object>> obj)
{
var ser = new JavaScriptSerializer();
return ser.Serialize(obj);
}
/// <summary>
/// 得到指定的值
/// </summary>
/// <param name="dic"></param>
/// <param name="key">關(guān)鍵字</param>
/// <param name="DefaultValue">默認(rèn)值</param>
/// <returns></returns>
public static string GetValue(this Dictionary<string, object> dic, string key, string DefaultValue = null)
{
object val;
if (dic.TryGetValue(key, out val))
{
if (val == null)
return "";
return val.ToString();
}
if (DefaultValue != null)
return DefaultValue;
return "";
}
}
}