首页 新闻 搜索 专区 学院

求一个c#的 post请求 json 并且接收返回json数据的一个demo。

0
[待解决问题]

求一个c#的 post请求 json 并且接收返回json数据的一个demo。谢谢大神们

归去来兮灬的主页 归去来兮灬 | 菜鸟二级 | 园豆:204
提问于:2016-10-27 17:31
< >
分享
所有回答(4)
0

    $.ajax({
                    type: 'post',
                    url: 'ajax/test.ashx?canshu1=abc',//传递的参数(可有可无)
                    success: function (jsonStr) {
                        //遍历返回的JSON串
                        var Arr = eval('(' + jsonStr + ')');

}

});

---------------------------------------------

这是一般处理程序中的代码

    public void ProcessRequest (HttpContext context) {
        try
        {
            string startdate = context.Request["startdate"];//这是我传递的参数

            DataTable dt = btest.GetHospitalityStatistics(startdate);//获取数据保存到dataTable中
            string jsonStr = DataTableToJson( dt);//将dataTable转换成Json字符串
         
            if (!string.IsNullOrEmpty(jsonStr))
            {
                 context.Response.Write(jsonStr);//返回数据给前端
            }
            else
            {
                context.Response.Write("");
            }
        }
        catch (Exception ex)
        {
            context.Response.Write("-1");
        }
    }
 
    public bool IsReusable {
        get {
            return false;
        }
    }

//将dataTable转换成json 根据自己需要的内容更改
    public static string DataTableToJson( DataTable dt)
    {
       StringBuilder JsonStr = new StringBuilder();

        string columname = "";
        if (dt != null && dt.Rows.Count > 0)
        {
            JsonStr.Append("[");
            for (int i = 0; i < dt.Rows.Count; i++)//行的循环
            {
                //JsonStr.Append("\"");
                //JsonStr.Append(dt.Rows[i]["roomtypename"].ToString());
                JsonStr.Append("{");
                for (int j = 0; j < dt.Columns.Count; j++)//这是列的循环== "System.Decima" ? dt.Rows[i][j].ToString() : "'" + dt.Rows[i][j] + "'" )
                {
                    string tmp = "'" + dt.Columns[j].ColumnName + "':" + dt.Rows[i][j] + "";
                    JsonStr.Append(tmp);
                    if (j < dt.Columns.Count - 1)
                    {
                        JsonStr.Append(",");
                    }
                }
                JsonStr.Append("}");
                if (i < dt.Rows.Count - 1)
                {
                    JsonStr.Append(",");
                }
            }
            JsonStr.Append("]");
        }
        return JsonStr.ToString();
    }

这是个有趣的名字 | 园豆:208 (菜鸟二级) | 2016-10-27 17:52

大神,我想用c#代码去请求  不用jquery的ajax请求,该怎么做?

支持(0) 反对(0) 归去来兮灬 | 园豆:204 (菜鸟二级) | 2016-10-28 08:57
0

伪代码:

using system.net.http;

using system.net.http.formatting;

HttpClient client = new HttpClient();

var response=await client.PostJsonAsAsync(url,jsonObj);

var responseJson=response.content.ReadAsync<Type>();

czd890 | 园豆:9188 (大侠五级) | 2016-10-27 18:42
0

你好,帅哥,请问你在手机端,用H5访问麦克风和摄像头可以吗? 

祝盼盼OKOK | 园豆:202 (菜鸟二级) | 2016-10-27 18:59

 不知道 帅哥

支持(0) 反对(0) 归去来兮灬 | 园豆:204 (菜鸟二级) | 2016-10-28 08:58
0

C#请求获取json?WebClient???

顾晓北 | 园豆:10215 (专家六级) | 2016-11-02 11:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册