簡體   English   中英

在C#中解碼(JSON)HttpWebResponse

[英]Decoding (JSON) HttpWebResponse in C#

這是我的代碼:

var response = (HttpWebResponse)request.GetResponse();
var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
var vrati = Newtonsoft.Json.JsonConvert.DeserializeObjectAsync(responseString);
log.Text = vrati["f"][0];

我正在使用Newtonsoft .Json.JsonConvert,但我不知道該怎么辦。

JSON代碼就像

{"a":13,"o":215,"f":["g","i"]}

我想在樣本中獲取[“ f”] [0] ..“ g”。 請幫我。

使用動力學嘗試一下

string responseString = "{\"a\":13,\"o\":215,\"f\":[\"g\",\"i\"]}";
dynamic vrati = JObject.Parse(responseString);

log.Text = vrati["f"][0];

您可以將其解析為動態對象:

string data = "{\"a\":13,\"o\":215,\"f\":[\"g\",\"i\"]}";
dynamic obj = Newtonsoft.Json.JsonConvert.DeserializeObject(data);
string result = obj.f[0].Value;

如果您想要動態,快速且骯臟的東西,則可以:

var dynJson = JsonConvert.DeserializeObject<dynamic>("{\"a\":13,\"o\":215,\"f\":[\"g\",\"i\"]}");

    Console.WriteLine(dynJson.a);
    Console.WriteLine(dynJson.o);

    foreach(var something in dynJson.f){
        Console.WriteLine(something);
    }

如果您想要鍵入內容,則可以創建一個與您的Json和Deserialize相匹配的對象:

    void Main()
{
    var dynJson = JsonConvert.DeserializeObject<MyThing>("{\"a\":13,\"o\":215,\"f\":[\"g\",\"i\"]}");

    Console.WriteLine(dynJson.a);
    Console.WriteLine(dynJson.o);
    foreach(var something in dynJson.f){
        Console.WriteLine(something);
    }
}

public class MyThing {

    public int a {get;set;}
    public int o {get;set;}
    public List<string> f {get;set;}
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM