【发布时间】:2017-11-06 20:45:42
【问题描述】:
我不确定我的班级设置是否错误或没有导致错误。我对使用 Json 很陌生。
功能代码:
Response = OpenIDM.GetUserInformation(email, fields);
LDAPMembership = JsonConvert.DeserializeObject<LDAPMembership>(Response);
string id = LDAPMembership._id;
类:
public class LDAPMembership
{
public string[] result { get; set; }
public string _id { get; set; }
public string _rev { get; set; }
public string[] ahaMemberGroup { get; set; }
public string[] ahaDrupalPermissions { get; set; }
public string resultCount { get; set; }
public string pagedResultsCookie { get; set; }
public string totalPagedResultsPolicy { get; set; }
public string totalPagedResults { get; set; }
public string remainingPagedResults { get; set; }
}
Json 字符串:
{\"result\":[{\"_id\":\"98d0d0b9-9506-40b4-84c4-e005d4bc25ec\",\"_rev\":\"1\",\"ahaMemberGroup\":[\"AONE\",\"AHA\"]}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}
抛出异常: 解析值时遇到意外字符:{。路径“结果”,第 1 行,位置 12。"}
我怀疑我没有在课堂上正确设置“结果”。我四处搜索,发现了一个类似的问题并尝试了响应,但没有奏效。
在这一行抛出错误:
LDAPMembership = JsonConvert.DeserializeObject<LDAPMembership>(Response);
【问题讨论】:
-
所有这些反斜杠是用调试器显示 json 的结果,还是你的 json 文件实际上包含这些字符?
-
初看:
result不是字符串数组。但是有_id的东西。 -
Result 不是字符串数组,而是复杂对象数组。 JSON 与您尝试反序列化的对象不匹配。
-
@LasseVågsætherKarlsen - 考虑到错误指向“位置 12”,实际的 JSON 文本可能没问题。
标签: c# .net json data-conversion