C# 在Json序列化时,怎么根据条件序列化为数值或者字符串?

在Json序列化时,怎么根据条件序列化为数值或者字符串?

回答

用Newtonsoft.Json举例:

if(number_to_string)
   new JsonSerializerSettings().Converters
    .Add(new NumberToStringConverter<double>())
    .Add(new NumberToStringConverter<long>())// ....等等
else new JsonSerializerSettings()

Newtonsoft.Json.JsonConvert.SerializeObject(yourObject,settings);

class NumberToStringConverter<T>:Newtonsoft.Json.Converters.CustomCreationConverter<T>
{
    public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
            {
                writer.WriteValue(value.ToString());
            }
}
以上是C# 在Json序列化时,怎么根据条件序列化为数值或者字符串?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>