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; }
}
我知道关于这个话题有很多问题,但我似乎找不到符合我所见的问题。我试过清理字符串,用单引号交换双引号,删除转义字符,修剪开头和结尾,但似乎没有任何效果。
以下是一个真正的基本代码片段(是的,我知道我正在尝试将一个字符串反序列化为一个字符串,但这只是一个 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; }
}