我是JSON的新手,所以我希望你能帮助我。 我这样做了:
var myfields = Newtonsoft.Json.JsonConvert.DeserializeObject<Rootobject>(s);
这是JSON的链接:link 如你所见,我有很多字段,每个字段都会显示几次。 现在我只能访问第一个。 例如:
final = myfields.results.First().warnings[0];
此String包含第一个警告字段。 我试着把而不是0 - 1但是我得到了一个错误。
我怎样才能得到其他人?
由于
答案 0 :(得分:4)
创建只包含所需字段的类,然后反序列化json
public class YourTwoField
{
[JsonProperty("field1")]
public string FieldOne { get; set; }
[JsonProperty("field2")]
public string FieldTwo { get; set; }
}
var myfields = Newtonsoft.Json.JsonConvert.DeserializeObject<YourTwoField>(yourJsonString);
// use values
myfields.FieldOne
评论更新:
您的问题是您在开始时没有提供足够的信息。 您需要的字段位于JSON层次结构的底层。
Edit
- &gt; Paste Special
- &gt;将JSON粘贴为类现在将所有JSON模式作为我认为将生成一些RootObject
的类,然后
var root = Newtonsoft.Json.JsonConvert.DeserializeObject<RootObject>(yourJsonString);
//Then your can brows to the values you want
root.results.First().openfda.generic_name
root.results.First().openfda.brand_name
或循环所有结果
foreach(var result in root.results)
{
result.openfda.generic_name;
result.openfda.brand_name;
}