gpt4 book ai didi

vala - Json-glib 在使用 gobject_serialize 时序列化一个值为 false 的 bool 值

转载 作者:行者123 更新时间:2023-12-05 07:08:46 25 4
gpt4 key购买 nike

我正在尝试序列化下面的类:

public class Person : GLib.Object {
public string name { get; set; }
public int age { get; set; }
public bool alive { get; set; }

public Person (string name, int age, bool alive = true) {
Object (
name: name,
age: age,
alive: alive
);
}
}

public int main () {
var person = new Person ("mike", 33, false);
var node = Json.gobject_serialize (person);

string obj = Json.to_string (node, true);
print (obj+"\n");

return 0;
}

虽然我希望输出是...

{
"name": "mike",
"age": 32,
"alive": false
}

我正在……

{
"name": "mike",
"age": 32
}

即使值为 false,我如何序列化 bool 值?

最佳答案

json-glib 的默认序列化函数不会序列化包含默认值的属性。对于 bool 属性,这是 false,除非另有明确说明。

为确保在这种情况下确实发生序列化,您应该显式实现 Serializable.serialize_property()方法自己。

关于vala - Json-glib 在使用 gobject_serialize 时序列化一个值为 false 的 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61787973/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com