asp.NetDataSet変換josn出力例

1580 ワード

 
  
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));

解析に問題がある場合は、コードの「」「」を「」で置き換えることができます.