我在这里缺少什么?为什么我会得到这个例外?用户代码未处理Newtonsoft.Json.JsonSerializationException,错误转换值“[{”username“:”someone“,”computername“:”computer1“,”PID“:”1234“}]”键入'System.Collections。 Generic.List`1 [WebApplication4.PInfo]”。路径'',第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);
答案 0 :(得分:3)
我认为你的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);
}
答案 1 :(得分:1)
这不是一个有效的json字符串,请尝试:
string s = "[{\"username\":\"someone\",\"computername\":\"computer1\",\"PID\":\"1234\"}]";