2

我需要以下输出

{你好=“世界”,测试=对象名}

我试过enum{aobjectname}在 c# 中做一个[JsonConverter(typeof(StringEnumConverter))]

其他任何人都知道如何获得想要的输出。我试过的东西要么是 test=1 要么是 test="aobjectname"。

4

1 回答 1

2

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

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

对象结构

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

字符串结构

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

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

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

或者

{hello: "world", test: 1}

顺便说一句,如果您需要转换"aobjectname"回枚举值,您可以使用该Enum.Parse方法来完成。

于 2013-08-26T00:00:08.710 回答