无法从字符串转换为 NewtonSoft.Json.JsonReader

Hen*_*nry 14 c# jsonserializer xamarin.forms asp.net-core-webapi

我是 Xamarin Forms 的新手,我正在尝试创建一种从 API 请求项目列表的方法。但是,由于错误消息,我无法编译解决方案

行中的“无法从字符串转换为 NewtonSoft.Json.JsonReader” var Items = JsonSerializer.Deserialize<Dictionary<string, Paises>>(content);

这是整个例程:

public static async Task<List<Paises>> GetPaisesActivosAsync()
{
    string baseUri = new BaseUri().baseUri;
    string sufixUri = "/PaisesApi/GetActives";
    var uri = baseUri + sufixUri;

    List<Paises> listaPaisesActivos = null;

    HttpResponseMessage response = await client.GetAsync(uri);
    if (response.IsSuccessStatusCode)
    {
        string content = await response.Content.ReadAsStringAsync();
        var Items = JsonSerializer.Deserialize<Dictionary<string, Paises>>(content);
    }
    return listaPaisesActivos;
}    
Run Code Online (Sandbox Code Playgroud)

预先感谢您的支持。

问候,

小智 28

JsonConvert.DeserializeObject()代替使用。我在 上遇到了同样的问题C#JsonConvert使用而不是 后错误应该消失JsonSerializer


lui*_*uiz 16

尝试

using System.Text.Json;
Run Code Online (Sandbox Code Playgroud)

代替

using Newtonsoft.Json;
Run Code Online (Sandbox Code Playgroud)

  • 据推测,他们正在使用 NewtonSoft。要求他们在没有额外指令的情况下转换为完全不同的序列化器并不是特别有用。使用“System.Text.Json”很可能有好处,但这并不能回答他们关于 NewtonSoft 的具体问题。 (2认同)