我需要以下输出
{你好=“世界”,测试=对象名}
我试过enum{aobjectname}
在 c# 中做一个[JsonConverter(typeof(StringEnumConverter))]
其他任何人都知道如何获得想要的输出。我试过的东西要么是 test=1 要么是 test="aobjectname"。
那将不是有效的 JSON。JSON中的字符串值必须用引号引起来。test:"aobjectname"
正确的输出也是如此,世界上没有任何 JSON 序列化程序会在没有这些引号的情况下为您提供任何输出。
JSON 是一种语言。语言有规范。JSON 语言规范指出,JSON 对象遵循以下结构:
它还指出,字符串值遵循以下结构:
如果您违反了这些原则,那么您将不再拥有 JSON,而是您自己制作的基于JSON 的东西。在极少数情况下,这可能很好。但是您确实需要知道您正在做出的牺牲:这是您自己设计的语言,因此您需要提供围绕该语言的所有工具,包括但不限于:序列化器和反序列化器、MIME 类型、验证器、等等
简而言之,您的对象应如下所示:
{hello: "world", test: "aobjectname"}
或者
{hello: "world", test: 1}
顺便说一句,如果您需要转换"aobjectname"
回枚举值,您可以使用该Enum.Parse
方法来完成。