有没有一种相对简单的方法使用serde/serde_json来接受现有结构体并仅更新JSON中存在的字段?这基本上相当于在运行时实现默认值而不是通过实现Default trait或生成默认值函数来编译时设置默认值。
当您拥有RESTful API并且只想修改指定字段并使未指定字段保持不变时,这似乎是一个非常常见的用例。
我可以通过将其反序列化为动态Value类型,然后执行大型匹配或if/else块来更新字段,但这很冗长和丑陋。我想知道serde是否有任何处理此操作的内容。
当您拥有RESTful API并且只想修改指定字段并使未指定字段保持不变时,这似乎是一个非常常见的用例。
我可以通过将其反序列化为动态Value类型,然后执行大型匹配或if/else块来更新字段,但这很冗长和丑陋。我想知道serde是否有任何处理此操作的内容。
Option
字段的*Update
结构,并以这种方式进行反序列化。这可能需要更多的工作,但我发现它在长期运行中更加灵活。 - kmdreko