Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从C#Enum到函数/对象名的Json序列化_C#_Json - Fatal编程技术网

从C#Enum到函数/对象名的Json序列化

从C#Enum到函数/对象名的Json序列化,c#,json,C#,Json,我需要以下输出 {hello=“world”,test=aobjectname} 我尝试过在c#中使用enum{aobjectname}和[JsonConverter(typeof(StringEnumConverter))] 其他人知道我如何获得想要的输出。我尝试过的东西给出了test=1或test=“aobjectname”。这将是无效的JSON。JSON中的字符串值必须在引号中。所以test:“aobjectname”是正确的输出,世界上没有任何JSON序列化程序会提供没有这些引号的输出

我需要以下输出

{hello=“world”,test=aobjectname}

我尝试过在c#中使用
enum{aobjectname}
[JsonConverter(typeof(StringEnumConverter))]


其他人知道我如何获得想要的输出。我尝试过的东西给出了test=1或test=“aobjectname”。

这将是无效的JSON。JSON中的字符串值必须在引号中。所以
test:“aobjectname”
是正确的输出,世界上没有任何JSON序列化程序会提供没有这些引号的输出

JSON是一种语言。语言有规范。并且声明JSON对象遵循以下结构:

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

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

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

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

顺便说一句,如果需要将
“aobjectname”
转换回枚举值,可以使用以下方法执行此操作

{hello: "world", test: 1}