[英]Need Help getting a specific value from a JSON key/value pair
我正在從第3方API提取數據,並且自己編寫了一些類似以下的代碼...
public partial class Form1 : Form
{
int playSystem = 2;
string playID = "";
public Form1()
{
InitializeComponent();
}
private void xBox_CheckedChanged(object sender, EventArgs e)
{
playSystem = 1;
}
public void playstation_CheckedChanged(object sender, EventArgs e)
{
playSystem = 2;
}
private async void searchButton_Click(object sender, EventArgs e)
{
statDisplay.Clear();
var userName = nameBox.Text;
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("X-API-KEY", "xxxxxxxxxxxxxxxx");
var response = await client.GetAsync("https://bungie.net/platform/Destiny/SearchDestinyPlayer/" + playSystem + "/" + userName);
var content = await response.Content.ReadAsStringAsync();
dynamic item = Newtonsoft.Json.JsonConvert.DeserializeObject(content);
statDisplay.AppendText(item.ToString());
}
}
}
與其將對象中的所有信息顯示為字符串,不如從該對象中獲取特定值,將其存儲到變量中,然后在另一個HTTPRequest中使用該變量。
我得到的輸出看起來像這樣...
{
"Response": [
{
"iconPath": "/img/theme/destiny/icons/icon_psn.png",
"membershipType": 2,
"membershipId": "01234567890",
"displayName": "xxxxxxxxxx"
}
],
"ErrorCode": 1,
"ThrottleSeconds": 0,
"ErrorStatus": "Success",
"Message": "Ok",
"MessageData": {}
}
我想特別關注於MembershipId鍵/值。
var membershipId = (string)item.Response[0].membershipId;
我想您可以在此處的Newtonsoft's Documentation中找到您想做的事情
http://www.newtonsoft.com/json/help/html/LINQtoJSON.htm
在此示例中,他們使用linq查找對象上的特定內容,但是您也可以通過返回對象內的每個元素來使用For Each。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.