C# 使用匿名对象输出带有破折号的JSON属性名

C# 使用匿名对象输出带有破折号的JSON属性名,c#,.net,json,json.net,javascriptserializer,datacontractjsonserializer,C#,.net,Json,Json.net,Javascriptserializer,Datacontractjsonserializer,我使用的第三方API如下所示。它使用Json序列化程序进行输出 公共输出(字符串名称、对象值) 我必须在我的C输出文件中放置以下json字符串# Output(“somename”,new{my name:“somevalue”}) 问题是C#不允许标识符带有破折号(-)。我如何做到这一点 尝试像下面这样放置原始值,但它会将反斜杠(\)添加到文件输出中,但效果不太好 Output(“somename”,“@”{“我的名字”:“somevalue”}”) 有什么想法吗?因为您使用的是匿名对象,最简

我使用的第三方API如下所示。它使用
Json序列化程序
进行输出

公共输出(字符串名称、对象值)

我必须在我的C输出文件中放置以下json字符串#

Output(“somename”,new{my name:“somevalue”})

问题是C#不允许标识符带有破折号(-)。我如何做到这一点

尝试像下面这样放置原始值,但它会将
反斜杠(\)
添加到文件输出中,但效果不太好

Output(“somename”,“@”{“我的名字”:“somevalue”}”)


有什么想法吗?

因为您使用的是匿名对象,最简单的解决方法是创建一个
字典

Output("somename", new Dictionary<string, string> { { "my-name", "somevalue" } });

由于您使用的是匿名对象,因此最简单的解决方法是创建一个
字典

Output("somename", new Dictionary<string, string> { { "my-name", "somevalue" } });

什么第三方序列化程序,我在理解这个问题上有很多困难,但是可能只是我为什么不使用字典呢
newdictionary{{“我的名字”,“somevalue”}
既然您已经标记了它,它可能是的一个副本。“同意吗?”dbc这样回答。这是可行的。什么第三方序列化程序,我在理解这个问题时遇到了很多困难,但是可能只是我为什么不使用字典呢
newdictionary{{“我的名字”,“somevalue”}
既然您已经标记了它,它可能是的一个副本。“同意吗?”dbc这样回答。这很有效。