【发布时间】:2019-05-30 22:23:05
【问题描述】:
我正在编写一个自定义版本的 stringEnumConverter 的测试。但是当我反序列化时,我的测试一直在抛出。我搜索了堆栈溢出,但找不到我做错了什么。以下是我正在做的一个示例:
namespace ConsoleApp2
{
[Flags]
[JsonConverter(typeof(StringEnumConverter))]
enum TestEnum
{
none = 0,
obj1 = 1,
obj2 = 2
}
class Program
{
static void Main(string[] args)
{
var jsonString = "{none}";
var deserializedObject = JsonConvert.DeserializeObject<TestEnum>(jsonString);
}
}
}
我在反序列化行中遇到的异常是解析枚举时出现意外令牌 StartObject。
我怀疑可能是因为我代表的json字符串错误,我也试过"{\"none\"}", "{\"TestEnum\":\"none\"}", "{TestEnum:none}", "{none}" and "none"。
【问题讨论】:
-
{none}不是一个有效的 json 开头。 -
一个有效的 json 应该是这样的:
{test: none}
标签: c# json enums deserialization