我需要以下輸出JSON序列發揮功能/對象名
{你好= 「世界」,測試= aobjectname}
我試圖做在C#enum{aobjectname}
和[JsonConverter(typeof(StringEnumConverter))]
任何人有一個好主意我怎麼可能得到想要的輸出。我嘗試的東西給出了測試= 1或測試=「aobjectname」。
我需要以下輸出JSON序列發揮功能/對象名
{你好= 「世界」,測試= aobjectname}
我試圖做在C#enum{aobjectname}
和[JsonConverter(typeof(StringEnumConverter))]
任何人有一個好主意我怎麼可能得到想要的輸出。我嘗試的東西給出了測試= 1或測試=「aobjectname」。
這將不是有效的JSON。 JSON 中的字符串值將用引號引起來。所以test:"aobjectname"
是正確的輸出,世界上沒有任何JSON序列化器會給你沒有這些引號的任何輸出。
JSON是一種語言。語言有規範。而JSON language specification狀態,即一個JSON對象遵循這種結構:
該法還規定,一個字符串值如下這種結構:
如果違反這些原則,那麼你不再有JSON,但你自己製作的東西,這是基於JSON的。在極少數情況下,這可以很好。但是你需要知道你正在做出的犧牲:這是你自己設計的語言,所以你需要提供圍繞該語言的所有工具,包括但不限於:串行器和反串行器,MIME類型,驗證器,等
總之,你的目標應該是這樣的:
{hello: "world", test: "aobjectname"}
或
{hello: "world", test: 1}
順便說一句,如果你需要"aobjectname"
轉換回枚舉值,你可以做這通過使用Enum.Parse
方法。