C# 在C中解码(JSON)HttpWebResponse#

C# 在C中解码(JSON)HttpWebResponse#,c#,json,C#,Json,这是我的密码: var response = (HttpWebResponse)request.GetResponse(); var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd(); var vrati = Newtonsoft.Json.JsonConvert.DeserializeObjectAsync(responseString); log.Text = vrati["f"][0];

这是我的密码:

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);
    }
var dynJson=JsonConvert.DeserializeObject(“{\'a\':13,\'o\':215,\'f\':[\'g\',\'i\'”]);
控制台写入线(dynJson.a);
控制台写入线(dynJson.o);
foreach(dynJson.f中的变量){
控制台。写线(某物);
}
如果您想要类型化的内容,可以创建与Json匹配的对象并反序列化:

    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;}
}
void Main()
{
var dynJson=JsonConvert.DeserializeObject(“{\'a\':13,\'o\':215,\'f\':[\'g\',\'i\']”);
控制台写入线(dynJson.a);
控制台写入线(dynJson.o);
foreach(dynJson.f中的变量){
控制台。写线(某物);
}
}
公共阶级神话{
公共int a{get;set;}
公共整数{get;set;}
公共列表f{get;set;}
}