解析JSON的几个字段

本文关键字:几个 字段 JSON 解析 | 更新日期: 2023-09-27 18:17:26

我是JSON新手,希望您能帮助我。我这样做了:

var myfields = Newtonsoft.Json.JsonConvert.DeserializeObject<Rootobject>(s);

是JSON:链接的链接正如您所看到的,我有许多字段,每个字段只显示几次。现在我只能访问第一个。例如:

 final = myfields.results.First().warnings[0];

这个字符串包含第一个警告字段。我试着用0 - 1来代替,但是我得到了一个错误。

我怎么才能找到其他人?

谢谢

解析JSON的几个字段

创建只包含您需要的字段的类,然后反序列化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层次结构的底层。

  1. 将json结果复制到剪贴板
  2. 在Visual Studio中打开空文件
  3. 然后Edit -> Paste Special ->将JSON粘贴为Classes

现在得到所有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;
}