C# Json 反序列化为字符串引发异常:"Unexpected character encountered while parsing value: {. Path , line 1, positi



我知道关于这个话题有很多问题,但我似乎找不到一个符合我所看到的内容的问题。我试过清理字符串,用单引号替换双引号,删除转义字符,修剪开头和结尾,但似乎都不起作用。

以下是一个真正的基本代码片段(是的,我知道我正试图将字符串反序列化为字符串,但这只是一个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();
}

上面抛出以下异常:{"分析值时遇到意外字符:{.Path",第1行,位置1。}

有人能向我解释为什么和/或如何解决这个问题吗?

如果要反序列化,则必须创建类

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; }
}

相关内容

  • 没有找到相关文章

最新更新