asp.net DataSetをjosnに変換して出力する例

1485 ワード

 
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("&quot;"" + strKey + "&quot;":");
strValue = String.Format(strValue, type);

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

}
jsonString.Append("},");
}
jsonString.Remove(jsonString.Length - 1, 1);
jsonString.Append("]");
return jsonString.ToString();
}
}
を使用して
 
JsonUtil ju = new JsonUtil();
Response.Write(ju.ToJson(ds));
を使用して、問題がある場合は、コードの「"」「「\」で置換する