用户代码未处理Newtonsoft.Json.JsonSerializationException

本文关键字:Json JsonSerializationException Newtonsoft 未处理 代码 用户 | 更新日期: 2023-09-27 18:30:04

这里缺少什么?为什么会出现此异常?用户代码未处理Newtonsoft.Json.JsonSerializationException,将值"[{"username":"someone","computername":"computer1","PID":"1234"}]"转换为类型"System.Collections.Generic.List`1[WebApplication4.PInfo]'.Path"时出错,第1行,位置95。

代码如下,非常简单的类,非常简单内容,但出现了严重错误=(

public class PInfo
{
    public string username { get; set; }
    public string computername { get; set; }
    public string PID { get; set; }
}
string s = "'"[{'''"username'''":'''"someone'''",'''"computername'''":'''"computer1'''",'''"PID'''":'''"1234'''"}]'"";
var z = JsonConvert.DeserializeObject<List<PInfo>>(s);

用户代码未处理Newtonsoft.Json.JsonSerializationException

我认为Json字符串中有一个错误,反斜杠可能不正确。

如果你尝试这个Json字符串

[{"username":"test","computername":"test","PID":"test"}]

你可以用下面的程序自己制作,然后一切都很好:

private static void test()
    {
        PInfo p = new PInfo();
        p.username = "test";
        p.computername = "test";
        p.PID = "test";
        List<PInfo> testlist = new List<PInfo>();
        testlist.Add(p);
        string json = JsonConvert.SerializeObject(testlist);
        var z = JsonConvert.DeserializeObject<List<PInfo>>(json);
    }

这不是一个有效的json字符串,请尝试:

string s = "[{'"username'":'"someone'",'"computername'":'"computer1'",'"PID'":'"1234'"}]";