C#从网页不传参数 接收json数据

public String GetHtmlFromUrl(String url)
{
//Response.Write(url);
//Response.End();
String strRet = null;
if (url == null || url.Trim().ToString() == "")
{
return strRet;
}
String targeturl = url.Trim().ToString();
try
{
HttpWebRequest hr = (HttpWebRequest)WebRequest.Create(targeturl);
hr.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)";
hr.Method = "GET";
hr.Timeout = * * ;
WebResponse hs = hr.GetResponse();
Stream sr = hs.GetResponseStream();
StreamReader ser = new StreamReader(sr, Encoding.UTF8);
strRet = ser.ReadToEnd();
}
catch (Exception ex)
{
strRet = ex.Message;
}
finally
{
//strRet = "ok";
}
return strRet;
}

接收到的json字符串是

{"err":0,"stat":"成功","token":"lishuai","RYtoken":"pPE5vmXNfAjBWnBVKYNnK59ciF9+nYNPonEsztEYnSKFa5MsrYaS9IZvLaZKcQyV+PiRpJrnZ55EjTIMHwq+V/EbSVX7VdU3","userinfo":[{"name":"李帅","sex":"男","dept":null,"pic":""}]}

调用方法(这是用C# 的应用程序 --客户端)

 private void button1_Click(object sender, EventArgs e)
{
string jsonText = new Class1().GetHtmlFromUrl("http://60.210.111.74:8013/TQ/EISAddMethod/Login.ashx?username=lishuai&password=000");
// string jsonText = @"{""input"" : ""value"",""output"" : ""result""}";
JsonReader reader = new JsonTextReader(new StringReader(jsonText)); //嵌套型
// string jsonText = "{\"beijing\":{\"zone\":\"海淀\",\"zone_en\":\"haidian\"}}"; JObject jo1 = (JObject)JsonConvert.DeserializeObject(jsonText);
label1.Text += "err" +" "+ jo1["err"].ToString() + "\n";
label1.Text += "stat" + " " + jo1["stat"].ToString() + "\n";
label1.Text += "token" + " " + jo1["token"].ToString() + "\n";
label1.Text += "RYtoken" + " " + jo1["RYtoken"].ToString() + "\n";
label1.Text += "name" + " " + jo1["userinfo"][]["name"].ToString() + "\n";
label1.Text += "sex" + " " + jo1["userinfo"][]["sex"].ToString() + "\n";
label1.Text += "dept" + " " + jo1["userinfo"][]["dept"].ToString() + "\n";
label1.Text += "pic" + " " + jo1["userinfo"][]["pic"].ToString() + "\n"; }

可以解析练习:

{"err":0,"stat":"成功","list":[{"_AutoID":"2704312b-e7f6-4405-89e1-0919f7e98d81","EmpName":"李帅","Isnotread":"3","Datetimes":"2017-6-25 0:00:00","edit":"no","LoginName":"lishuai"},{"_AutoID":"A2465C8A-C6E4-4F96-BB5C-ED9D40D67D80","EmpName":"董浩","Isnotread":"3","Datetimes":"2017-4-10 0:00:00","edit":"no","LoginName":"lishuai"}]}

C# 使用解析json 嵌套方法的更多相关文章

  1. .NET下解析Json的方法

    .NET下几种常见的解析JSON方法 主要类 命名空间 限制 内建LINQ支持 DataContractJsonSerializer System.Runtime.Serialization.Json ...

  2. 再次提供一个纯粹通过pl/sql解析json的方法。

    在github上面有一个叫pljson的项目,该项目就是用pl/sql 来解析json的. 项目地址:pljson(需翻|强),如果翻不了强的同学,我在国内克隆了一个副本,不定期同步更新 pljson ...

  3. vbs 解析 json jsonp 方法

    昨天说了下用 htmlfile 来解析 html,今天依然用他来解析,htmlfile 是一个 COM 版的 BOM 和 DOM,所以解析 html, 执行 js 完全不在话下,今天就继续解析 jso ...

  4. JavaScript转换与解析JSON的方法

    在JavaScript中将JSON的字符串解析成JSON数据格式,一般有两种方式: 一种为使用eval()函数. 使用Function对象来进行返回解析. 使用eval函数来解析,jquery的eac ...

  5. 解析json的方法

    解析json的两种方法:JS中的eval().JSON.parse eval不仅解析内容还会解析其中的方法,JSON.parse解析更安全.JSONLint可校验json的错误.

  6. Java创建和解析Json数据方法(五)——Google Gson包的使用

    (五)Google Gson包的使用 1.简介 Gson包中,使用最多的是Gson类的toJson()和fromJson()方法:         ①toJson():将java对象转化为json数据 ...

  7. Java创建和解析Json数据方法(四)——json-lib包的使用

    (四)json-lib包的使用         既然json-lib包比org.json包重量级,那么json-lib包肯定有很多org.json包没有的类和方法,这篇笔记简单记录json-lib包中 ...

  8. Java创建和解析Json数据方法(三)——json-lib包的使用

    (三)json-lib包的使用         这篇笔记主要介绍json-lib包的创建和解析json数据的方式,主要是的JSONObject.JSONArray和Java对象:beans, maps ...

  9. Java创建和解析Json数据方法(二)——org.json包的使用

    (二)org.json包的使用 1.简介   工具包org.json.jar,是一个轻量级的,JAVA下的json构造和解析工具包,它还包含JSON与XML, HTTP headers, Cookie ...

随机推荐

  1. scores

    题意: m维偏序问题. 解法: 考虑对每一维按照每一个元素在这一维的数值分块,对于每一个块维护一个大小为 n 的bitset,表示前缀/后缀满足条件的元素集合. 对于每一个询问,我们可以枚举找到相应的 ...

  2. JDBC的初步了解及使用

    一.概念 1.什么是JDBC? JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由 ...

  3. Codevs 1688 求逆序对(权值线段树)

    1688 求逆序对  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解  查看运行结果     题目描述 Description 给定一个序列a1,a2,…, ...

  4. uoj#351. 新年的叶子(概率期望)

    传送门 数学还是太差了,想了半天都没想出来 首先有一个定理,如果直径(这里考虑经过的点数)为奇数,所有直径有同一个中点,如果直径为偶数,所有直径有同一条最中间的边.这个可以用反证法,假设不成立的话直径 ...

  5. 洛谷P1829 [国家集训队]Crash的数字表格 / JZPTAB(莫比乌斯反演)

    传送门 式子好麻烦orz……大佬好腻害orz->这里 //minamoto #include<iostream> #include<cstdio> #define ll ...

  6. 数组常用API(1)

    数组常用API: 1. push 作用:数组尾部添加: 特点:可以添加一个或多个值: 返回值是数组最新的长度:会改变原数组: 示例: var arr = [10,20,30,40];          ...

  7. python爬虫——web前端基础(4)

    CSS,指层叠样式表,用来定义如何显示HTML元素,一般和HTML配合使用. 在HTML中使用CSS样式的方法: 内联样式表:CSS代码直接写在现有的HTML标记中,直接使用style属性改变样式.例 ...

  8. Java中对象拷贝的两种方式

    引用的拷贝 //引用拷贝 private static void copyReferenceObject(){ Person p = new Person(23, "zhang") ...

  9. Js 数组对象排序

    1.定义函数 /** * 数组对象排序函数 * @param {any} name 排序字段 * @param {any} order 升.降(这里事true.false记得处理下) */ var b ...

  10. luogu P4145 上帝造题的七分钟2 / 花神游历各国 维护区间和&&区间开根号

    因为开根号能使数字减小得非常快 所以开不了几次(6次?)很大的数就会变成1..... 所以我们可以维护区间最大值,若最大值>1,则继续递归子树,暴力修改叶节点,否则直接return (好像也可以 ...