RestSharp-带有“ $”响应属性名称的GET请求

时间:2019-10-14 08:04:52

标签: c# .net rest api restsharp

我需要从REST API获得GET响应。我使用RestSharp。问题是,响应属性的一个名称是“ $”。这是响应:

[
    {
        "CodeId": {
            "$": "00000000"
        },
        "Entity": {
            "LegalName": {
                "@xml:lang": "cs",
                "$": "xxxxx"
            }
        }
    }
]

我应该如何使用RestSharp来获取Entity.LegalName。$的值?

1 个答案:

答案 0 :(得分:0)

我通过@fredrik找到了答案。

      var client = new RestClient(url);

      var request = new RestRequest(urlRequest, DataFormat.Json);

      var response = client.Get(request);

      Console.WriteLine(JsonSerializer.Deserialize<List<TestRestResponseTemplate>>(response.Content)[0].Entity.LegalName.Value);

TestRestResponseTemplate:

  public class TestRestResponseTemplate
  {
    public Entity Entity { get; set; }
  }

  public class LegalName
  {
    [JsonPropertyName("@xml:lang")]
    public string Language { get; set; }

    [JsonPropertyName("$")]
    public string Value { get; set; }
  }

  public class Entity
  {
    public LegalName LegalName { get; set; }
  }