I have issue with deserialize JSON for next classes:
public class Players:List<Player>
{
}
public class Player
{
public Player()
{
PlayerTeam = new Team();
}
public int PlayerId { get; set; }
public Team PlayerTeam { get; set; }
}
public class Team
{
public int TeamId { get; set; }
public string Name { get; set; }
}
Result for Team object is always TeamId:0 and Name:null. DataContractJsonSerializer working for this example good, but Json.Net no. why? what I need change in my code, because I must to use Json.Net in my program?
var json = "{ \"PlayerId\": 3, \"PlayerTeam\": { \"TeamId\": 20, \"Name\": \"ABC\" } }"; var obj = JsonConvert.DeserializeObject<Player>(json); Console.WriteLine($"{obj.PlayerId}, {obj.PlayerTeam.TeamId} - {obj.PlayerTeam.Name}");Please, provide Minimal Complete Verifiable Example.var json = "[{ \"PlayerId\": 3, \"PlayerTeam\": { \"TeamId\": 20, \"Name\": \"ABC\" } },{ \"PlayerId\": 4, \"PlayerTeam\": { \"TeamId\": 21, \"Name\": \"ABCD\" } }]"; var obj = JsonConvert.DeserializeObject<Players>(json); Console.WriteLine($"{obj[0].PlayerId}, {obj[0].PlayerTeam.TeamId} - {obj[0].PlayerTeam.Name}");