public string Serialize() { var s = new StringWriter(); var w = new JsonTextWriter(s); w.WriteStartObject(); w.Write(nameof(CarId), CarId); w.Write(nameof(TrackId), TrackId); w.Write(nameof(StartedAt), StartedAt); w.Write(nameof(Time), Time); w.Write(nameof(BestLap), BestLap); w.Write(nameof(BestLapId), BestLapId); w.WriteNonDefault(nameof(GoneOffroad), GoneOffroad); w.WriteNonDefault(nameof(Penalties), Penalties); w.WriteNonDefault(nameof(MaxSpeed), MaxSpeed, "F1"); w.WriteNonDefault(nameof(Distance), Distance, "F1"); w.WriteNonDefault(nameof(FuelBurnt), FuelBurnt, "F1"); w.WriteNonDefault(nameof(LongestAirborne), LongestAirborne, "F3"); w.WriteNonDefault(nameof(LongestWheelie), LongestWheelie, "F3"); w.WriteNonDefault(nameof(LongestTwoWheels), LongestTwoWheels, "F3"); w.WriteNonDefault(nameof(TotalAirborne), TotalAirborne, "F2"); w.WriteNonDefault(nameof(TotalWheelie), TotalWheelie, "F2"); w.WriteNonDefault(nameof(TotalTwoWheels), TotalTwoWheels, "F2"); w.WriteNonDefault(nameof(TotalTyreWear), TotalTyreWear, "F3"); w.WriteEndObject(); return s.ToString(); }