将数据从JSON输出到文本框C#
我是C#的新手,所以这可能是一个非常愚蠢的问题。我的程序是向服务器发送api请求,并将数据输出到文本框。调用我处理过的API,它以JSON格式接收所有信息将数据从JSON输出到文本框C#,c#,json,api,json.net,C#,Json,Api,Json.net,我是C#的新手,所以这可能是一个非常愚蠢的问题。我的程序是向服务器发送api请求,并将数据输出到文本框。调用我处理过的API,它以JSON格式接收所有信息 public void button2_Click(object sender, EventArgs e) { var OTPSCODE = new TOTP("CODE"); string API = "API KEY"; string REQ; REQ = SendRequest("
public void button2_Click(object sender, EventArgs e)
{
var OTPSCODE = new TOTP("CODE");
string API = "API KEY";
string REQ;
REQ = SendRequest("WEBSITE"+API+"&code="+OTPSCODE.now());
if (REQ != null)
{
//MessageBox.Show(REQ, "Hey there!", MessageBoxButtons.OK, MessageBoxIcon.Information);
string json = Newtonsoft.Json.JsonConvert.SerializeObject(REQ);
BalanceTB.Text = // This is Where I want the output to be;
}
}
private string SendRequest(string url)
{
try
{
using (WebClient client = new WebClient())
{
return client.DownloadString(new Uri(url));
}
}
catch (WebException ex)
{
MessageBox.Show("Error while receiving data from the server:\n" + ex.Message, "Something broke.. :(", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return null;
}
}
Web API返回以下内容:
{ "status" : "success",
"data" : {
"available_balance" : "0",
"pending_withdrawals" : "0.0000",
"withdrawable_balance" : "0"
}
}
问题是我不知道如何在文本框中只显示JSON[“状态”]或JSON[“取款余额”]中的数字。有人能帮我吗?您不应该再次序列化
json字符串,而是要反序列化它:
var request = "WEBSITE"+API+"&code="+OTPSCODE.now();
var json = SendRequest(request);
if (json != null)
{
//MessageBox.Show(REQ, "Hey there!", MessageBoxButtons.OK, MessageBoxIcon.Information);
var response = Newtonsoft.Json.Linq.JObject.Parse(json);
BalanceTB.Text = string.Format("{0} or {1}",
(string)response["status"],
(int)response["data"]["withdrawable_balance"]);
}
您不应该再次序列化json字符串
,而是希望对其进行反序列化:
var request = "WEBSITE"+API+"&code="+OTPSCODE.now();
var json = SendRequest(request);
if (json != null)
{
//MessageBox.Show(REQ, "Hey there!", MessageBoxButtons.OK, MessageBoxIcon.Information);
var response = Newtonsoft.Json.Linq.JObject.Parse(json);
BalanceTB.Text = string.Format("{0} or {1}",
(string)response["status"],
(int)response["data"]["withdrawable_balance"]);
}
现在,为了提取各个元素,您必须解析接收到的json。类似于var obj=JObject.Parse(json);var余额=(字符串)obj[“数据”][“可提取余额”];现在,为了提取各个元素,您必须解析接收到的json。类似于var obj=JObject.Parse(json);var余额=(字符串)obj[“数据”][“可提取余额”];谢谢你。唯一的问题是响应[“数据”][“可取款余额”]是一个字符串。但是谢谢你的帮助,谢谢你。唯一的问题是响应[“数据”][“可取款余额”]是一个字符串。但是谢谢你的帮助。