http拿取json
//url json网络地址
public class HttpUitls
{
public static string Get(string Url)
{
//System.GC.Collect();
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
request.Proxy = null;
request.KeepAlive = false;
request.Method = "GET";
request.ContentType = "application/json; charset=UTF-8";
request.AutomaticDecompression = DecompressionMethods.GZip;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream myResponseStream = response.GetResponseStream();
StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.UTF8);
string retString = myStreamReader.ReadToEnd();
myStreamReader.Close();
myResponseStream.Close();
if (response != null)
{
response.Close();
}
if (request != null)
{
request.Abort();
}
return retString;
}
public static string Post(string Url, string Data, string Referer)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
request.Method = "POST";
request.Referer = Referer;
byte[] bytes = Encoding.UTF8.GetBytes(Data);
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = bytes.Length;
Stream myResponseStream = request.GetRequestStream();
myResponseStream.Write(bytes, 0, bytes.Length);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader myStreamReader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
string retString = myStreamReader.ReadToEnd();
myStreamReader.Close();
myResponseStream.Close();
if (response != null)
{
response.Close();
}
if (request != null)
{
request.Abort();
}
return retString;
}
}
Newtonsoft.Json引用 json读取
//将接口传入,这个HttpUitls的类,有兴趣可以研究下,也可以直接用就可以,不用管如何实现。 string getJson = HttpUitls.Get(url); //这个需要引入Newtonsoft.Json这个DLL并using //传入我们的实体类还有需要解析的JSON字符串这样就OK了。然后就可以通过实体类使用数据了。 Root rt = JsonConvert.DeserializeObject(getJson); //这样就可以取出json数据里面的值 MessageBox.Show("com=" + rt.com + " " + "condition=" + rt.condition + " " + "ischeck=" + rt.ischeck + " " + "state=" + rt.state + " " + "status=" + rt.status); //由于这个JSON字符串的 public List data 是一个集合,所以我们需要遍历集合里面的所有数据 for (int i = 0; i < rt.data.Count; i++) { MessageBox.Show("Data=" + rt.data[i].context + " " + rt.data[i].location + " " + rt.data[i].time + " " + rt.data[i].ftime); }
List转json格式写入
/** * code 状态描述 * msg 返回信息 * count 总数 * list 数据 * */ public static string getJson(int code, string msg, int count, List list) { StringBuilder sb = new StringBuilder(); sb.Append("{"); sb.Append(""code":" + code); sb.Append(","message":"" + msg + """); sb.Append(","count":" + count); sb.Append(","detail":"); try { MemoryStream stream1 = new MemoryStream(); DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(List )); ser.WriteObject(stream1, list); stream1.Position = 0; StreamReader sr = new StreamReader(stream1); sb.Append(sr.ReadToEnd()); } catch (Exception e) { sb.Append("[{}]"); } sb.Append("}"); return sb.ToString(); }
如有帮助请打赏一下,分分是爱!!!
注意 本文著作权归作者所有,转载请联系作者获得授权,并注明'xcSharp博客'
附件 用作学习和交流,如有侵权,请联系博主删除!!!
相关分类推荐
评论这篇文章(0)
- 楼主 xcSharp博客
学习永无止境,活到老,学到老,书山有路勤为径,学海无涯苦作舟;业精于勤荒于喜,行成于思毁于随




