C# Json 反序列化为字符串抛出异常:"Unexpected character encountered while parsing value: {. Path '', line 1, position 1."}

C# Json Deserialization into string throws exception: "Unexpected character encountered while parsing value: {. Path '', line 1, position 1."}

我知道关于这个话题有很多问题,但我似乎找不到符合我所见的问题。我试过清理字符串,用单引号交换双引号,删除转义字符,修剪开头和结尾,但似乎没有任何效果。

以下是一个真正的基本代码片段(是的,我知道我正在尝试将一个字符串反序列化为一个字符串,但这只是一个 POC,用于尝试弄清楚为什么无法开始对字符串进行反序列化)。

try
{
    var str = "{\"notifications\":[{\"id\":\"test\",\"type\":\"test type\",\"timestamp\":\"2022-02-14T21:27:44+0000\"}]}";
    var tempAns = JsonConvert.DeserializeObject<string>(str);
    Console.WriteLine(tempAns);

}
catch (Exception ex)
{
    Console.ReadLine();
}

以上抛出以下异常:{“解析值时遇到意外字符:{.路径'',第 1 行,位置 1。”}

任何人都可以向我解释为什么 and/or 如何解决这个问题?

如果你想反序列化你必须创建类

var tempAns = JsonConvert.DeserializeObject<Root>(str);

public class Notification
    {
        public string id { get; set; }
        public string type { get; set; }
        public DateTime timestamp { get; set; }
    }

    public class Root
    {
        public List<Notification> notifications { get; set; }
    }