我使用Newtonsoft.Json库
有没有办法在反序列化期间修剪任何字符串数据的空格?
class Program
{
class Person
{
[JsonProperty("name")]
public string Name;
}
static void Main(string[] args)
{
var p = JsonConvert.DeserializeObject<Person>(@"{ name: "" John "" }");
Console.WriteLine("Name is: \"{0}\"", p.Name);
}
}
Run Code Online (Sandbox Code Playgroud)
添加:
最后,我有自定义转换器的解决方案.不好,但比Trim()更好.
如果有人有任何想法如何以更自然的方式做,请欢迎.
class Program
{
sealed class TrimAttribute : Attribute
{ }
class TrimConverter<T> : JsonConverter where T : new()
{
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
}
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
var jObject …Run Code Online (Sandbox Code Playgroud)