一,获取返回的Json格式信息
{"error":0,"msg":"ok","data":{"success":1,"gt":"3040a6d1490f60fcea6fa28cbeb53aa2","challenge":"159c9ec915016800858ab198f8cb2065","new_captcha":1}}
目的:接受上述Json字符串。
方法:
1.在VS2013工程中添加引用(引用内容貌似来自github)如图1
2.在代码引用里添加刚才导入的引用名称,如图2
3.用下述命令,接受通讯类返回的数据,并提取需要的信息
Jason格式展开:如图3
JObject jo = (JObject)JsonConvert.DeserializeObject(httpResult);//获取Json信息
try//用try catch抓取异常
{
string receiverName = jo["msg"].ToString();//获取第一层Key"msg"中的Value值。
//获取第二层用string receiverName = jo["data"]["gt"].ToString();
//如果有数组用string receiverName = jo["data"]["gt"][0]["XXX"].ToString();提取,[0]表示数组索引值。
//使用多线程时,线程调用程序界面显示框的方法。
BeginInvoke(new EventHandler(delegate
{
this.listBox1.Items.Add(receiverName);
}));
//替换答案中的特殊符号(需要分两次,考虑是否可以一次去除)
receiverName = receiverName.Replace("\\", "");
receiverName = receiverName.Replace("\"", "");
if (receiverName == "false")
{
//MessageBox.Show("答案获取失败");
}
//将答案传到线程中的局部变量中
m_result = receiverName;
} //1.捕获异常,在控件中显示
catch (Exception ex)
{
BeginInvoke(new EventHandler(delegate
{
listBox2.Items.Add(ex.ToString());
}));
}