【发布时间】:2019-05-01 06:39:56
【问题描述】:
我正在寻找一种将数据导出为 JSON 样式的方法。请给我指路
<%@ WebHandler Language="C#" Class="API" %>
using System;
using System.Web;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using Newtonsoft.Json;
using System.Collections.Generic;
using Newtonsoft.Json.Linq;
using System.Web.Script.Serialization;
public class User
{
public string type { get; set; }
public string user { get; set; }
public string pass { get; set; }
}
public class API : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string strJson = new StreamReader(context.Request.InputStream).ReadToEnd();
User user = JsonConvert.DeserializeObject<User>(strJson);
string str = System.Configuration.ConfigurationManager.ConnectionStrings["conStr"].ConnectionString, json = "";
if (user.type != null && user.user != null && user.pass != null)
{
SqlConnection con = new SqlConnection(str);
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "SELECT ID,UserName From Partner Where UserName=@UserName And PassWord=@Pass";
cmd.Parameters.Add("@UserName", SqlDbType.VarChar, 100).Value = user.user;
cmd.Parameters.Add("@Pass", SqlDbType.NVarChar, 100).Value = user.pass;
if (ConnectionState.Closed == con.State)
con.Open();
DataTable datatable = new DataTable();
SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(cmd);
con.Close();
sqlDataAdapter.Fill(datatable);
if (datatable.Rows.Count > 0)
{
foreach (DataRow dr in datatable.Rows)
//My data return;
}
}
}
最后我要返回数据json
请帮我解决问题!谢谢
【问题讨论】:
-
您已将内容类型设置为文本/纯文本。如果您希望浏览器将数据解释为 JSON,您应该适当地设置 MIME 类型 - “application/json”。要序列化您的数据,建议使用库,因为任何小错误都可能损坏文件。总而言之,使用某种网络服务似乎可以更好地实现您想要实现的目标。
-
用代码作为文本替换该代码图像
标签: c# asp.net asp.net-ajax generic-handler