asp.net如何将DataSet转换成josn并输出

372 查看

public class JsonUtil 
{ 
public string ToJson(DataSet dataSet) 
{ 
string jsonString = "{"; 
foreach (DataTable table in dataSet.Tables) 
{ 
jsonString += """" + table.TableName + """:" + ToJson(table) + ","; 
} 
jsonString = jsonString.TrimEnd(','); 
return jsonString + "}"; 
} 
public string ToJson(DataTable dt) 
{ 
StringBuilder jsonString = new StringBuilder(); 
jsonString.Append("["); 
DataRowCollection drc = dt.Rows; 
for (int i = 0; i < drc.Count; i++) 
{ 
jsonString.Append("{"); 
for (int j = 0; j < dt.Columns.Count; j++) 
{ 
string strKey = dt.Columns[j].ColumnName; 
string strValue = drc[i][j].ToString(); 

Type type = dt.Columns[j].DataType; 
jsonString.Append("""" + strKey + """:"); 
strValue = String.Format(strValue, type); 

jsonString.Append("""" + strValue + ""","); 

} 
jsonString.Append("},"); 
} 
jsonString.Remove(jsonString.Length - 1, 1); 
jsonString.Append("]"); 
return jsonString.ToString(); 
} 
}

 使用

JsonUtil ju = new JsonUtil(); 
Response.Write(ju.ToJson(ds));

如果解析有问题可以把代码中的""""用"\""替换