gpt4 book ai didi

c# - 在 JSON 中引用 c# 对象

转载 作者:行者123 更新时间:2023-12-04 09:26:56 24 4
gpt4 key购买 nike

我有两个 JSON 文件。一个包含有关玩家的信息,另一个包含有关他的团队的信息。
我在 C# 中反序列化了团队 JSON 文件并创建了一个团队对象。在 player 类中,有一个属性“teamassigned”,我希望其中的值是我之前创建的 team 对象,但我想将其存储在 JSON 文件中。
驱动程序的 JSON

{
"driverName": "Esyltt Aviars",
"teamAssigned": TEAM OBJECT HERE,
"DefendingScore": 47,
"BrakingScore": 80,
"CorneringScore": 38,
"RaceStartScore": 92,
"ConsistencyScore": 74,
"FocusScore": 55
}
JSON 团队
{
"teamID": 1,
"teamName": "Mclaren",
"teamColor": "orange"
}

最佳答案

您可以通过以下方式实现此目的:
您的球员和球队类(class)将是:

public class Team  
{
public int teamID { get; set; }
public string teamName { get; set; }
public string teamColor { get; set; }
}
public class Player
{
public string driverName { get; set; }
public Team teamAssigned { get; set; }
public int DefendingScore { get; set; }
public int BrakingScore { get; set; }
public int CorneringScore { get; set; }
public int RaceStartScore { get; set; }
public int ConsistencyScore { get; set; }
public int FocusScore { get; set; }
}
当反序列化这些类的数据时,生成的 Json 将是:
{
"driverName": "Esyltt Aviars",
"team": {
"teamID": 1,
"teamName": "Mclaren",
"teamColor": "orange"
},
"DefendingScore": 47,
"BrakingScore": 80,
"CorneringScore": 38,
"RaceStartScore": 92,
"ConsistencyScore": 74,
"FocusScore": 55
}
根据需要更新答案
以上两个类 Player 和 Team 用于将 Json 数据反序列化为对象,如下所示:
var objPlayer = JsonConvert.DeserializeObject<Player>(playerJson);
var objTeam = JsonConvert.DeserializeObject<Team>(teamJson);
结果得到了两个对象中的数据。现在将两个对象数据分配给类型为 的新对象播放器 连同对象的赋值 团队 到字段“teamAssigned”,如下所示:
var objMerged = new Player()
{
driverName = objPlayer.driverName,
teamAssigned = new Team()
{
teamID = objTeam.teamID,
teamName = objTeam.teamName,
teamColor = objTeam.teamColor
},
DefendingScore = objPlayer.DefendingScore,
BrakingScore = objPlayer.BrakingScore,
CorneringScore = objPlayer.CorneringScore,
RaceStartScore = objPlayer.RaceStartScore,
ConsistencyScore = objPlayer.ConsistencyScore,
FocusScore = objPlayer.FocusScore,
};
现在,将此对象“objMerged”序列化为 Json:
var convertToJson = JsonConvert.SerializeObject(objMerged);
“convertToJson”中的结果 Json 将按照要求,属性“teamassigned”的值是团队对象。

关于c# - 在 JSON 中引用 c# 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62971758/

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