C#JSONデータ生成
10079 ワード
protected void Page_Load(object sender, EventArgs e)
{
Response.Clear();
Response.ContentType = "application/json;charset=utf-8";
string str = "";
DataSet ds = SqlHelper.GetSqlDataSet("select top 3 Staff_id,name_sc as Staff_name from [tbl_ac_info] where status='A'");
List<tbl_ac_info> list = new List<tbl_ac_info>();
foreach (DataRow item in ds.Tables[0].Rows)
{
list.Add(new tbl_ac_info() { Staff_id = item[0].ToString(), Staff_name = item[1].ToString() });
}
str = ObjToJSON(list);
Response.Write(str);
Response.End();
}
[DataContract]
[Serializable]
public class tbl_ac_info
{
[DataMember]
public string Staff_id { set; get; }
[DataMember]
public string Staff_name { set; get; }
}
/// <summary>
/// JSON
/// </summary>
/// <param name="obj"> , </param>
/// <returns></returns>
protected string ObjToJSON(object obj)
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
Stream stream = new MemoryStream();
serializer.WriteObject(stream, obj);
stream.Position = 0;
StreamReader streamReader = new StreamReader(stream);
return streamReader.ReadToEnd();
}
<script type="text/javascript">
$(function () {
GetJSON();
});
function GetJSON() {
$.getJSON("Ajax.aspx?action=export_app&n=" + Math.random(), { "div": "", "app_type": "formula" }, function (data) {
$("#listStaff_id").html("<font color=green> ...</font>");
if (data.length > 0) {
var list = "";
$.each(eval(data), function (index, json) {
list += json.Staff_id + " / " + json.Staff_name + "<br>";
});
$("#listStaff_id").html(list);
}
else {
$("#listStaff_id").html(" ");
}
});
}
</script>
ネーミングスペースを導入する必要があります:using System.Runtime.Serialization.Json;using System.ServiceModel.Web;