gpt4 book ai didi

c# - 从 C# 枚举到函数/对象名称的 Json 序列化

转载 作者:太空宇宙 更新时间:2023-11-03 10:58:50 25 4
gpt4 key购买 nike

我需要以下输出

{hello = "world", test=aobjectname}

我试过在 C# 和 [JsonConverter(typeof(StringEnumConverter))]

中做一个 enum{aobjectname}

任何其他知道我如何获得所需输出的好主意的人。我试过的东西给出了 test=1 或 test="aobjectname"。

最佳答案

那不是有效的 JSON。 JSON 中的字符串值必须 用引号引起来。所以 test:"aobjectname" 是正确的输出,世界上没有任何 JSON 序列化程序会在没有这些引号的情况下为您提供任何输出。

JSON 是一种语言。语言有规范。和 JSON language specification指出,JSON 对象遵循以下结构:

Object structure

它还指出,字符串值遵循以下结构:

String structure

如果您违反了这些原则,那么您将不再拥有 JSON,而是您自己制作的东西,基于 JSON。在极少数情况下,这可能没问题。但是您确实需要知道您正在做出的牺牲:这是您自己设计的语言,因此您需要提供围绕该语言的所有工具,包括但不限于:序列化器和反序列化器、MIME 类型、验证器、等等

简而言之,您的对象应如下所示:

{hello: "world", test: "aobjectname"}

{hello: "world", test: 1}

顺便说一下,如果您需要将"aobjectname" 转换回枚举值,您可以使用Enum.Parse 来实现。方法。

关于c# - 从 C# 枚举到函数/对象名称的 Json 序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18434666/

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