返回值组合:

json返回

 StringBuilder sb = new StringBuilder();
sb.Append("{");
sb.Append("\"Status\":\"" + 123 + "\"");
sb.Append("}");

json数组

StringBuilder sb = new StringBuilder();
sb.Append("[");
for (int i = ; i < ; i++)
{
sb.Append("{");
sb.Append("\"name\":\"" + i + "\",");
sb.Append("\"name1\":\"" + (i+) + "\"");
sb.Append("},");
}
sb.Remove(sb.ToString().LastIndexOf(','), );
sb.Append("]");

案例1:

 public void GetClass(string name, string id)
{
try
{
string connectString = System.Configuration.ConfigurationSettings.AppSettings["connStr"];
SqlConnection conn = new SqlConnection(connectString);
conn.Open();
SqlCommand comm = new SqlCommand();
comm.Connection = conn;
comm.CommandText = "PROC_ChoicePersonnel";
comm.CommandType = System.Data.CommandType.StoredProcedure;
//传值以及赋值
SqlParameter[] sps = new SqlParameter[] {
new SqlParameter("@ClassName",name),
new SqlParameter("@id",id),
new SqlParameter("@flag","class")
};
comm.Parameters.AddRange(sps); SqlDataAdapter sdap = new SqlDataAdapter();
sdap.SelectCommand = comm;
DataTable dt = new DataTable();
sdap.Fill(dt);
conn.Close();
StringBuilder sb = new StringBuilder();
sb.Append("[");
for (int i = ; i < dt.Rows.Count; i++)
{
sb.Append("{");
sb.Append("\"id\":\"" + dt.Rows[i]["id"].ToString() + "\",");
sb.Append("\"name\":\"" + dt.Rows[i]["name"].ToString() + "\"");
sb.Append("},");
}
sb.Remove(sb.ToString().LastIndexOf(','), );
sb.Append("]");
Result(sb);
}
catch (Exception ex)
{ }
} private void Result(StringBuilder sb)
{
Context.Response.Charset = "UTF-8"; //设置字符集类型
Context.Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
Context.Response.ContentType = "text/plain";
Context.Response.Write(sb.ToString());
Context.Response.End();
}

 C#后台调用HTTP外网接口

1.get方法调用接口获取json文件内容
 public void GetFunction()
{ string serviceAddress = "http://...?aaa=111";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(serviceAddress);
request.Method = "GET";
request.ContentType = "text/html;charset=UTF-8";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream myResponseStream = response.GetResponseStream();
StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.UTF8);
string retString = myStreamReader.ReadToEnd();
myStreamReader.Close();
myResponseStream.Close();
Response.Write(retString);
}

2.post方法调用接口获取json文件内容

 public void PostFunction()
{ string serviceAddress = "http://...";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(serviceAddress); request.Method = "POST";
request.ContentType = "application/json";
string strContent = @"{ ""a"": ""1"",""b"": ""2"",""c"": ""3""}";
using (StreamWriter dataStream = new StreamWriter(request.GetRequestStream()))
{
dataStream.Write(strContent);
dataStream.Close();
}
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
string encoding = response.ContentEncoding;
if (encoding == null || encoding.Length < )
{
encoding = "UTF-8"; //默认编码
}
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(encoding));
string retString = reader.ReadToEnd();
//解析josn
JObject jo = JObject.Parse(retString);
Response.Write(jo["message"]["mmmm"].ToString()); }

3.

        [WebMethod]
public void tt()
{
//地址
string url = "http://...";
string a = "";
string b = "";
string c = "";
string d = "";
//传的参数
//string datastr1 = "id=" + System.Web.HttpUtility.UrlEncode(ids);
string datastr1 = "a=" + a + "&b=" + b + "&c=" + c + "&d=" + d+ "&e=";
//转成字节
byte[] bytearray1 = Encoding.UTF8.GetBytes(datastr1);
//创建WebRequest
HttpWebRequest webrequest = (HttpWebRequest)WebRequest.Create(url);
//POST方式
webrequest.Method = "POST";
// <form encType=””>中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)
webrequest.ContentType = "application/x-www-form-urlencoded";
//获取字节数
webrequest.ContentLength = Encoding.UTF8.GetByteCount(datastr1);
//获取用于写入请求数据的 System.IO.Stream 对象
Stream webstream = webrequest.GetRequestStream();
//向当前流中写入字节序列,并将此流中的当前位置提升写入的字节数。
webstream.Write(bytearray1, , bytearray1.Length);
//获取返回数据
HttpWebResponse response = (HttpWebResponse)webrequest.GetResponse();
//转码
StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
//返回的结果
string ret = sr.ReadToEnd();
}

最新文章

  1. 使用TortoiseGit 来进行日常操作
  2. C# 关键字【转】
  3. ORACLE 远程导入导出数据库
  4. Qt 动画框架
  5. 【软件工程】电梯调度的初步实现 李亚文&amp;&amp;郭莉莉
  6. 免费下载!Twitter Bootstrap V3 矢量界面素材
  7. Unity架构有点乱
  8. 更新Android SDK之后Eclipse提示ADT版本过低的一个简易解决办法
  9. POJ 2549 Sumsets
  10. File上传
  11. DHTMLX系列组件的学习笔记
  12. vS2010 列表控件 加入右键菜单
  13. 配置nginx为HTTPS服务器
  14. Statemen接口对象
  15. c++11の数据竞争和互斥对象
  16. ykit入门
  17. 从零开始学安全(二十一)●PHPSPL异常
  18. java mail smtp port
  19. itexpdf同一个段落不同文字,如何设置不同的格式
  20. ElasticSearch - query vs filter

热门文章

  1. HTTP错误code大全
  2. Oracle Escape
  3. 【转】PL/SQL 使用技巧
  4. Android 截屏的各种骚操作
  5. Android EditText实现小数点后几位的终级方案
  6. npm install 各种后缀 --xx说明
  7. C++ 操作符重载 (operator)
  8. solr的多条件组合查询和solr的范围查询【转】
  9. 第一章、 CLR的执行模型
  10. AJPFX总结抽象类和接口的区别