CSharp · Console
using System;
using Newtonsoft.Json;
public class Program
{
public static void Main()
{
Console.WriteLine("Hello World");
var json = @"{""B"":42.0}";
var p2 = JsonConvert.DeserializeObject<A>(json, new CustomIntConverter());
p2.Dump();
json = @"{""B"":42}";
p2 = JsonConvert.DeserializeObject<A>(json, new CustomIntConverter());
p2.Dump();
}
}
public class A{
public int B {get;set;}
}
public class CustomIntConverter : JsonConverter<int>
{
public override void WriteJson(JsonWriter writer, int value, JsonSerializer serializer)
{
writer.WriteValue(value.ToString());
}
public override int ReadJson(JsonReader reader, Type objectType, int existingValue, bool hasExistingValue, JsonSerializer serializer)
{
int i = Convert.ToInt32(reader.Value);
return i;
}
}