JSonNet 布尔序列化 [英] JSonNet boolean serialization
本文介绍了JSonNet 布尔序列化的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
快速问题:
在 JSONNet - 我如何让 bool true/false 序列化为 bool 1/0
In JSONNet - how do i get bool true/false to serialize as bool 1/0
我可以看到我们如何处理空值,而所有这些似乎都无法找到如何做到这一点.
I can see how we handle null values and all that just cant seem to find how to do this.
这可能吗?
推荐答案
您可以像这样实现自定义转换器:
You can implement a custom converter like this:
[TestFixture]
public class CustomJsonSerialization
{
[Test]
public void Test()
{
string serializeObject = JsonConvert.SerializeObject(true, new BoolConverter());
Assert.That(serializeObject, Is.EqualTo("1"));
var deserializeObject = JsonConvert.DeserializeObject<bool>(serializeObject, new BoolConverter());
Assert.That(deserializeObject, Is.True);
}
}
public class BoolConverter : JsonConverter
{
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
writer.WriteValue(((bool)value) ? 1 : 0);
}
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
return reader.Value.ToString() == "1";
}
public override bool CanConvert(Type objectType)
{
return objectType == typeof(bool);
}
}
这篇关于JSonNet 布尔序列化的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文