记一次C#转换json的工作经历
来源:互联网 发布:阿里云服务器挂载 编辑:程序博客网 时间:2024/05/03 12:36
首先
使用C#在后台向服务器发了一个请求
//请求路径
string url = "http://127.0.0.1:8086/query?";
//定义request并设置request的路径
string postData = "q=select+count(distinct(username))+from+desktopstatics";
postData += "&db=hualinDB";
WebRequest request = WebRequest.Create(url + postData);//Server.UrlEncode(url + postData)
request.Method = "GET";//设置类型
WebResponse response = request.GetResponse();
//获取相应的状态代码
Console.WriteLine(((HttpWebResponse)response).StatusDescription);
//定义response字符流
Stream dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string responseFromServer = reader.ReadToEnd();//读取所有
Console.WriteLine(responseFromServer);
//关闭资源
reader.Close();
dataStream.Close();
response.Close();
responseFromServer拿到了之后,它就是一个json字符串
它的内容如下:
{"results":
[{"series":
[{"name":"desktopstatics",
"columns":
["time","count"],
"values":
[
["2017-04-03T00:00:01.000000001Z",130]
]
}]
}]
}
我想取到valuse中的最后的那个130
C#代码如下
JObject jsonObj = (JObject)JsonConvert.DeserializeObject(responseFromServer);//将responseFromServer放入一个JObject
JArray jsonArray = (JArray)jsonObj["results"]; // 这时的jsonArray为
{[ { "series": [ { "name": "desktopstatics",
"columns": [ "time", "count" ],
"values": [ [ "2017-04-05T00:00:01.000000001Z", 130 ] ]
} ]
}]}
results的值是一个数组,虽然数组中只有一个元素
JObject first = (JObject)jsonArray.ElementAt(0); //这时的first 为
{ "series": [ { "name": "desktopstatics",
"columns": [ "time", "count" ],
"values": [ [ "2017-04-05T00:00:01.000000001Z", 130 ] ]
} ]
} 拿到jsonArray中的第一个元素
JArray jsonSubArray = (JArray)first["series"]; //jsonSubArray为
{[ { "name": "desktopstatics",
"columns": [ "time", "count" ],
"values": [ [ "2017-04-05T00:00:01.000000001Z", 130 ] ]
}]}
JObject firstSub = (JObject)jsonSubArray.ElementAt(0); //firstSub 为
{ "name": "desktopstatics",
"columns": [ "time", "count" ],
"values": [ [ "2017-04-05T00:00:01.000000001Z", 130 ] ]
}
JArray dvalue = (JArray)firstSub["values"]; dvalue 为
{[ [ "2017-04-05T00:00:01.000000001Z", 130 ]]}
string member = ((JArray)dvalue.ElementAt(0)).ElementAt(1).ToString();
member为130
- 记一次C#转换json的工作经历
- 一次难忘的工作经历
- 一次闪电般的工作经历
- 记一次头疼的JSON与String之间的转换
- 记一次JSON序列化的问题
- c#转换json
- C#转换json
- C# Json 格式转换
- C# Object 、json转换
- c#转换Json格式
- c# 转换json
- 几年的工作经历
- 我个人的工作经历
- 自己的亲身工作经历
- 九零后的五年七次工作经历
- 深圳的工作经历
- 论述我的工作经历
- 某猿的工作经历
- Json解析(C++)——jsoncpp
- [RK3288][Android6.0] 调试笔记 --- 设置中文为默认输入法
- Java中的同步和异步
- AngularJS 实现当元素为ng-disabled改变背景颜色
- bzoj2709 [Violet 1]迷宫花园
- 记一次C#转换json的工作经历
- CodeForces
- 开发移动端web应用, 使用手机自带键盘的搜索按钮
- linux下挂载光驱中iso作为yum源
- 动态内存申请与释放
- ArrayList 遍历与TypeToken的使用
- pcap和tcp/ip协议
- 通过Runtime获取私有方法
- Delphi 中,基于接口,封装类为 BPL 包动态加载的程序架构 之一