当前位置: 首页 > 面试题库 >

JSonNet布尔序列化

夏建弼
2023-03-14
问题内容

快速提问:

在JSONNet中-如何获取布尔true / false以序列化为布尔1/0

我可以看到我们如何处理空值,而所有这些似乎都找不到如何执行此操作。

这可能吗?


问题答案:

您可以像这样实现自定义转换器:

[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 是 Google 开源的一个 JSON 兼容的配置语言,用来取代 JSON。可以支持注释,self 等语法。它完全向后兼容并加入了一些新特性:注释、引用、算术运算、条件操作符,数组和对象内含,引入,函数,局部变量,继承等。Jsonnet程序被翻译为兼容JSON的数据格式。 注释:Jsonnet接受两种风格的注释——C风格(/* …. */)和C++风格(//… )。 引用:关键字s

  • 问题内容: 这可能只是白痴,但对我来说有点混乱: 为什么在返回时返回? 问题答案: 您正在根据布尔值的文字值检查它。一样不会是真的。 如果将其投射,您将看到区别: 究其原因是真实的,因为你是比较相同的对象。与或相同。 当您看到类似的东西并且此检查从未通过时,困难就来了。那是因为您正在检查项目的 真实值 。按照惯例,所有这些项目都将通过布尔检查失败- 也就是说,它们的布尔值将为: (明显) 任何空序

  • 我有一个数据框 我正在执行以下功能 但是,当我这样做时,我收到警告: 我如何解决这个问题? Lorem ipsum dolor sit amet,consecetur adipiscing elit,sed do eiusmod temor附带ut labore et dolore magna aliqua。Ut enim ad minim veniam,quis nostrud练习ullamco

  • rust-jsonnet 是 Google Jsonnet 对 rust 操作库. github:https://github.com/yuduanchen/rust-jsonnet google jsonnet 官方推荐库列表:http://google.github.io/jsonnet/doc/bindings.html Google Jsonnet 介绍: jsonnet 是google发

  • luajit-jsonnet 是 针对google jsonnet的lua开发支持。 Name luajit-jsonnet - The Google Jsonnet( operation data template language) for Luajit Table of Contents Name Description install Methods new make evaluate_f