在做Newtonsoft JSON时出错在C#中对撇号字符串进行反序列化

问题描述 投票:4回答:2

当我尝试在执行Newtonsoft JSON反序列化时执行下面的代码段时,我遇到异常。错误:解析值后遇到意外字符:s。路径'名称',第1行,第14位。

static void Main(string[] args)
{
   var definition = new { Name = "" };
   string json1 = @"{'Name':'Jame's'}";
   var customer1 = JsonConvert.DeserializeAnonymousType(json1, definition);
   Console.WriteLine(customer1.Name);
}
c# visual-studio
2个回答
4
投票

这是单引号,而不是撇号,因此需要进行转义:

string json1 = @"{'Name':'Jame\'s'}";

您不能在字符串中包含字符串分隔符而不转义它。


0
投票

message:解析值后遇到意外的字符:s。路径'名称',第1行,第14位。

字符串格式不好:)

这样改变

    static void Main(string[] args)
    {
        var definition = new { Name = "" };
        string json1 = "{\"Name\":\"Jame's\"}";
        var customer1 = JsonConvert.DeserializeAnonymousType(json1, definition);
        Console.WriteLine(customer1.Name);
    }
© www.soinside.com 2019 - 2024. All rights reserved.