或者
Uri uri = new Uri(“”);//Uri页面为Json字符串或XML字符串 HttpClient client = new HttpClient(); HttpResponseMessage response = await httpClient.GetAsync(uri); response.EnsureSuccessStatusCode();//如果出现错误,则抛出异常 string result = await response.Content.ReadAsStringAsync();////Json或XML字符串附异常处理:
if (response.StatusCode == HttpStatusCode.OK) { // } 或: if (response.IsSuccessStatusCode) { // ... } 或: try { HttpResponseMessage response = postTask.Result; response.EnsureSuccessStatusCode(); } catch (HttpRequestException e) { // ... }(1)使用JsonReader读Json字符串:
string jsonText =@"{""input"" : ""value"",""output"" : ""result""}"; JsonReader reader = new JsonTextReader(new StringReader(jsonText)); while (reader.Read()) { Console.WriteLine(reader.TokenType + "\t\t" + reader.ValueType+ "\t\t" + reader.Value); //一共循环6次,输出依次为“start”“input”“value”“output”“result”“end”. }(2)使用JsonWriter写字符串:
StringWriter sw = new StringWriter(); JsonWriter writer = new JsonTextWriter(sw); writer.WriteStartObject(); writer.WritePropertyName("input"); writer.WriteValue("value"); writer.WritePropertyName("output"); writer.WriteValue("result"); writer.WriteEndObject(); writer.Flush(); string jsonText =sw.GetStringBuilder().ToString(); Console.WriteLine(jsonText);(3)使用JObject读写字符串:
JObject jo = JObject.Parse(jsonText); string[] values =jo.Properties().Select(item => item.Value.ToString()).ToArray(); //得到的是一个字符串数组存储每个value值(4)读取数组
string jsonArrayText1 ="[{'a':'a1','b':'b1'},{'a':'a2','b':'b2'}]"; JArray ja =(JArray)JsonConvert.DeserializeObject(jsonArrayText1); string ja1a =ja[1]["a"].ToString(); //值为a2 //或者 JObject o = (JObject)ja[1]; string oa = o["a"].ToString();(5)嵌套格式
string jsonText ="{\"beijing\":{\"zone\":\"海淀\",\"zone_en\":\"haidian\"}}"; JObject jo =(JObject)JsonConvert.DeserializeObject(jsonText); string zone =jo["beijing"]["zone"].ToString(); string zone_en =jo["beijing"]["zone_en"].ToString();得到XML文件之后就可以根据XML对节点的操作方式去获取自己想要的元素,如:
company.Text = xml.GetElementsByTagName("operators")[0].InnerText; area.Text = xml.GetElementsByTagName("style_simcall")[0].InnerText;要在项目的NUGet中安装:Newtonsoft.Json。才可解析Json.
http://www.cnblogs.com/wywnet/p/httpclient.html http://blog.csdn.net/coolszy/article/details/8606803
