如何反序列化这个奇怪的 json 对象

时间:2021-04-17 01:08:05

标签: c# json json-deserialization

我从 C# 程序调用外部系统中的 RestFul API。

调用finally是用这个代码完成的:

string response = await cliente.GetDataByPost($"/index.php?route=api/catalog/products&token={authentication.api_token}", null, null);
List<Models.Producto> productos = JsonConvert.DeserializeObject<List<Models.Productos>>(response);
来自外部系统的

response 变量是下图所示的 json 字符串:

enter image description here

在42、30、47等之下,是普通的product对象(与ID号相同)。该对象具有多个属性,因此对于现在的情况,在此处发布并不重要。我只能说对象是 Models.Producto 实体。

当然,那个 DeserializeObject 调用会返回一个错误。

我称这个 json 字符串是一个奇怪的对象,因为为了使用正常的反序列化过程进行反序列化,那些数字(42、30、47 等)应该是 products 对象的属性。

我如何配置 JsonConvert 以便我可以使用以下实体模型反序列化这个东西?这可能吗?

public class Productos
{
    public Success success { get; set; }
}

public class Success
{
    public List<Systems.Models.Producto> products { get; set; }
}
}

0 个答案:

没有答案