/// <summary>
/// 将JSON解析成DataSet只限标准的JSON数据
/// 例如:Json={t1:[{name:'数据name',type:'数据type'}]}
/// 或 Json={t1:[{name:'数据name',type:'数据type'}],t2:[{id:'数据id',gx:'数据gx',val:'数据val'}]}
/// </summary>
/// <param name="Json">Json字符串</param>
/// <returns>DataSet</returns>
public DataSet JsonToDataSet(string Json)
{
try
{
DataSet ds = new DataSet();
JavaScriptSerializer JSS = new JavaScriptSerializer();
object obj = JSS.DeserializeObject(Json);
object[] datajson = (object[])obj;
DataTable dt = new DataTable();
for (int i = 0; i < datajson.Length; i++)
{
Dictionary<string, object> data = (Dictionary<string, object>)datajson[i];
DataRow dr = dt.NewRow();
foreach (var item in data)
{
if (!dt.Columns.Contains(item.Key))
{
dt.Columns.Add(item.Key);
}
dr[item.Key] = item.Value;
}
dt.Rows.Add(dr);
}
ds.Tables.Add(dt);
return ds;
}
catch
{
return null;
}
}
/// 将JSON解析成DataSet只限标准的JSON数据
/// 例如:Json={t1:[{name:'数据name',type:'数据type'}]}
/// 或 Json={t1:[{name:'数据name',type:'数据type'}],t2:[{id:'数据id',gx:'数据gx',val:'数据val'}]}
/// </summary>
/// <param name="Json">Json字符串</param>
/// <returns>DataSet</returns>
public DataSet JsonToDataSet(string Json)
{
try
{
DataSet ds = new DataSet();
JavaScriptSerializer JSS = new JavaScriptSerializer();
object obj = JSS.DeserializeObject(Json);
object[] datajson = (object[])obj;
DataTable dt = new DataTable();
for (int i = 0; i < datajson.Length; i++)
{
Dictionary<string, object> data = (Dictionary<string, object>)datajson[i];
DataRow dr = dt.NewRow();
foreach (var item in data)
{
if (!dt.Columns.Contains(item.Key))
{
dt.Columns.Add(item.Key);
}
dr[item.Key] = item.Value;
}
dt.Rows.Add(dr);
}
ds.Tables.Add(dt);
return ds;
}
catch
{
return null;
}
}