我有一个对REST API的GET调用的响应,如下所示:

[
    {
    "id": "ac:de:23:11:32:40",
    "type": "uwb",
    "name": "Employee tag 12",
    "sensors": "string",
    "fence_timeout": 5,
    "exit_tolerance": 0,
    "tolerance_timeout": 0,
    "exit_delay": 100,
    "properties": {}
  }
]

我只想要"测试"这个名字.

出于测试原因,我编写了以下小程序.但不幸的是,我无法访问"姓名".

有没有人能给我最后一个建议,让这件事奏效?或者,有没有更好的方法来访问json值?

using Newtonsoft.Json;
using System.Net.Security;

public class Program
{
    public static void Main()
    {
        var obj = JsonConvert.DeserializeObject<List<Root>>(myJsonResponse);
        //string name = obj. ??????????????????
    }
}

public class MyArray
{
    [JsonProperty("id")]
    public string Id { get; set; }

    [JsonProperty("name")]
    public string Name { get; set; }
}

public class Root
{
    [JsonProperty("MyArray")]
    public List<MyArray> MyArray { get; set; }
}

推荐答案

您没有根属性,它只是一个array.所以使用下面的代码

List<MyArray> listMyArray = JsonConvert.DeserializeObject<List<MyArray>>(myJsonResponse);

string name = listMyArray[0].Name;

Csharp相关问答推荐

c#处理大量tcp连接

使用封装的Span Range.Enumerator时引发IndexOutOfRangeResponse

从Key Vault中提取值以在本地dev web.connect中使用

如何使用FastEndpoints和.NET 8 WebAppliationBuilder进行集成测试?

使用C#中的Shape API从Azure目录获取所有用户

程序集.加载从exe的异常

如何使用ConcurentDictionary属性上的属性将自定义System.Text.Json JsonConverter应用于该属性的值?

Amazon SP-API确认发货不设置&Quot;递送服务

为什么Regex.IsMatch(";\\t";,";\\t";)返回FALSE而不是TRUE?

共享暂存/生产环境中Azure事件中心的建议配置

C#使用TextFieldParser读取.csv,但无法使用";0";替换创建的列表空条目

在C#中,将两个哈希集连接在一起的时间复杂度是多少?

正确处理嵌套的本机集合

带有可选参数的模拟方法返回意外的不同值,具体取决于可选的默认值

实体框架-IsRequired()与OnDelete()

在C#中,当输入一个方法/局部函数时,我的IEnumerator被重置/重新创建.为什么?

.NET Google Workspace API获取错误CS0266

Xamarin.Forms-如何创建可 Select 的显示alert 或弹出窗口?

在ObservableCollection上使用[NotifyPropertyChangedFor()]源代码生成器不会更新UI

.NET8支持Vector512,但为什么向量不能达到512位?