【发布时间】:2019-06-11 02:28:29
【问题描述】:
我有以下类属性
public Dictionary<int, Hotel> Hotels { get; set; }
当我序列化为 JSON 时,字典键被序列化如下:
{
"results": {
"id": "d875e165-4705-459e-8532-fca2ae811ae0",
"arrival_date": "2019-02-16",
"departure_date": "2019-02-17",
"expires": "2019-01-17T17:11:23.2941604+00:00",
"hotels": {
"9036": {
"hotel_id": 9036,
"name": "Beach View Hotel",
"address": null,
"star_rating": 0,
"review_score": 0,
"phone_number": null,
"website_url": null,
"email_address": null,
"channels": [
{
"id": 0,
"name": "Channel Name 0",
"offers": []
}
]
},
"9049": {
"hotel_id": 9049,
"name": "City House Hotel",
"address": null,
"star_rating": 0,
"review_score": 0,
"phone_number": null,
"website_url": null,
"email_address": null,
"channels": [
{
"id": 0,
"name": "Channel Name 0",
"offers": []
}
]
},
"9107": {
"hotel_id": 9107,
"name": "Park Hotel",
"address": null,
"star_rating": 0,
"review_score": 0,
"phone_number": null,
"website_url": null,
"email_address": null,
"channels": [
{
"id": 1,
"name": "Channel Name 1",
"offers": []
}
]
}
},
"errors": []
}
}
是否可以通过某种方式删除,也许是通过类属性属性?
“9036”:
所以想要的 JSON 变成了
"hotels": { "hotel_id": 9036, "name": "My Hotel Name",
【问题讨论】:
-
您能提供所需的 JSON 吗?
-
我已经更新了问题,但基本上我不希望 JSON 序列化程序忽略 Dictionary 键值。
-
你试过选择然后序列化
serialize(Hotels.select(x => x.value)) -
@Chenna 这与 OP 想要的完全相反
-
更好的是,请提供minimal reproducible example 并提供示例输入。请务必指定您想要的确切输出。
标签: c# dictionary serialization json.net