gpt4 book ai didi

c# - 为什么 servicestack 不能将这个 JSON 反序列化为 C#?

转载 作者:行者123 更新时间:2023-11-30 19:28:23 24 4
gpt4 key购买 nike

我正在尝试将以下 JSON 表示反序列化为强类型对象。我可以从 c# -> json 序列化它,但反之则不行。

C#

public class Package 
{
public Guid Id {get;set;}
public List<string> Email {get;set;}
public List<Items> Items {get;set;}
}

public class Items
{
public string Uri {get;set;}
public int Width {get;set;}
public int Height {get;set;}
}

JSON

{
"Id":"84fd8751-6107-41af-9473-65aae51e042a",
"Email":[
"j@t.com"
],
"Items":"[
{"Uri":"http://localhost/foo.jpg","Width":234,"Height":313},
{"Uri":"http://localhost/bar.jpg","Width":234,"Height":174}]"
}

反序列化代码

var instance = JsonSerializer.DeserializeFromString<Package>(jsonData);

对象 instance 已创建,instance.Items 中有 2 个项目对象,但它们的所有属性均为 null。

TIA

最佳答案

您在 Items 值周围加上了引号,因此将它们解析为字符串而不是数组/列表。移除它们即可获胜。

"Items":[
{"Uri":"http://localhost/foo.jpg","Width":234,"Height":313},
{"Uri":"http://localhost/bar.jpg","Width":234,"Height":174}]

关于c# - 为什么 servicestack 不能将这个 JSON 反序列化为 C#?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15820456/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com