将 JSON 反序列化为 c# 字典 // 结构问题
Deserialize JSON to c# dictionary // Problem with structure
我想反序列化 JSON 如下所示:
{
"rooms":{
"room1":{
"id":"bPhJoQTTE",
"roomName":"room1"
},
"room2":{
"id":"bPh1oqLTE",
"roomName":"room2"
}
}
}
我正在使用以下 class 反序列化定义:
public class Room
{
public string id;
public string roomName;
}
public class Rooms
{
public Dictionary<string, Room> room;
}
public class Root
{
public Rooms rooms;
}
这是我用来执行反序列化的代码:
Root deserializationObj = JsonConvert.DeserializeObject<Root>(json);
它不起作用 - 我做错了什么?
您根本不需要 Rooms
class。尝试将 Root
更新为如下所示:
public class Root
{
public Dictionary<string, Room> rooms;
}
此外,您的 Room
class 有一个 username
属性 不在您的示例 JSON 中,并且缺少 roomName
属性 来自你的例子。
我想反序列化 JSON 如下所示:
{
"rooms":{
"room1":{
"id":"bPhJoQTTE",
"roomName":"room1"
},
"room2":{
"id":"bPh1oqLTE",
"roomName":"room2"
}
}
}
我正在使用以下 class 反序列化定义:
public class Room
{
public string id;
public string roomName;
}
public class Rooms
{
public Dictionary<string, Room> room;
}
public class Root
{
public Rooms rooms;
}
这是我用来执行反序列化的代码:
Root deserializationObj = JsonConvert.DeserializeObject<Root>(json);
它不起作用 - 我做错了什么?
您根本不需要 Rooms
class。尝试将 Root
更新为如下所示:
public class Root
{
public Dictionary<string, Room> rooms;
}
此外,您的 Room
class 有一个 username
属性 不在您的示例 JSON 中,并且缺少 roomName
属性 来自你的例子。