需要添加Newtonsoft.Json.dll引用
服务器端:
/// <summary>
/// 把DataSet转化Json对象
/// </summary>[;
/// <param name="ds">数据集</param>
/// <param name="JsonName">Json数据的根元素名称</param>
/// <param name="ParName">需要转化数据集中名称的数组</param>
/// <returns></returns>
private static string DataSetToJson(DataSet ds, string JsonName, string[] ParName)
{
try
{
string josn = "{ /"" + JsonName + "/":[";
string temp = "";
for (int j = 0; j < ds.Tables[0].Rows.Count; j++)
{
temp = temp + "{";
for (int i = 0; i < ParName.Length; i++)
{
temp += "/'" + ParName[i] + "/':/"" + ds.Tables[0].Rows[j][ParName[i]] + "/"";
if (i != ParName.Length - 1)
{
temp = temp + ",";
}
}
temp = temp + "}";
}
josn = josn + temp + "]}";
return josn;
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// 接收object类型对象,将其转换为json字符串
/// </summary>
/// <param name="value">接收Object对象</param>
/// <returns>json字符串</returns>
private static string MySerializeObject(Object value)
{
System.IO.StringWriter sw = new System.IO.StringWriter(CultureInfo.InvariantCulture);
JsonSerializer jsonSerializer = new JsonSerializer();
jsonSerializer.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
using (JsonTextWriter jsonWriter = new JsonTextWriter(sw))
{
jsonWriter.Formatting = Newtonsoft.Json.Formatting.Indented;
jsonSerializer.Serialize(jsonWriter, value);
}
return sw.ToString();
}
Magreement是一个实体类。
/// <summary>
/// 将json字符串转化为对象
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
private static Magreement MyDeserializeObject(string str)
{
Magreement agreement = (Magreement)JsonConvert.DeserializeObject(str, typeof(Magreement));
return agreement;
}