这是我的代码:
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”。请帮助我。
答案 0 :(得分:0)
尝试使用动态
string responseString = "{\"a\":13,\"o\":215,\"f\":[\"g\",\"i\"]}";
dynamic vrati = JObject.Parse(responseString);
log.Text = vrati["f"][0];
答案 1 :(得分:0)
您可以将其解析为动态对象:
string data = "{\"a\":13,\"o\":215,\"f\":[\"g\",\"i\"]}";
dynamic obj = Newtonsoft.Json.JsonConvert.DeserializeObject(data);
string result = obj.f[0].Value;
答案 2 :(得分:0)
如果你想要动态,快速和肮脏的东西,你可以:
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;}
}