json="{\n \"kind\": \"plus#person\",
\n \"etag\": \"\\\"GjejyguyfTE/pdfBI8xyufoiuh9bOLZ8VyG_8\\\"\",
\n \"gender\": \"male\",
\n \"emails\": [\n {\n \"value\": \"[email protected]\",\n \"type\": \"account\"\n }\n ],
\n \"objectType\": \"person\",
\n \"id\": \"xxxxxxxxxxxxxxx\",
\n \"displayName\": \"XXXXXXXXX XXXXXXX\",
\n \"name\": {\n \"familyName\": \"XXXXXX\",\n \"givenName\": \"XXXXXX\"\n },
\n \"url\": \"https://plus.google.com/xxxxxxxxxxxxxxx\",
\n \"image\": {\n \"url\": \"https://lh3.googleusercontent.com/-XdUWA/AAAAAAI/AAbbbbAA/42hhscbv5M/photo.jpg?sz=70\"\n },
\n \"isPlusUser\": true,
\n \"language\": \"en\",
\n \"ageRange\": {\n \"min\": 21\n },
\n \"circledByCount\": 0,
\n \"verified\": false\n}\n"
public class GoogleUser
{
public string kind { get; set; }
public string etag { get; set; }
public string gender { get; set; }
public Email[] emails { get; set; }
public string objectType { get; set; }
public string id { get; set; }
public string displayName { get; set; }
public Name name { get; set; }
public string url { get; set; }
public Image image { get; set; }
public bool isPlusUser { get; set; }
public string language { get; set; }
public AgeRange ageRange { get; set; }
public int circledByCount { get; set; }
public bool verified { get; set; }
}
public class Name
{
public string familyName { get; set; }
public string givenName { get; set; }
}
public class Email
{
public string value { get; set; }
public string type { get; set; }
}
public class Image
{
public string url { get; set; }
}
public class AgeRange
{
public int min { get; set; }
}
GoogleUser user = new JavaScriptSerializer().Deserialize<GoogleUser>(json);
我在C# 4.0
发展我在项目中使用login with google+
按钮。 我想通过使用access_token
来获取用户。 我可以将它们作为json
filen。 然后我想复制他们我的GoogleUser class
。 我没有得到错误,但user
总是等于null
。 通过这种方式,昨天我可以获取用户的数据,但不是今天。反序列化JSON到类在C#
什么是我的问题?
你发布的代码似乎工作... – sloth
第一件事;浏览器可能会缓存请求/数据,并搞砸了事情(铬是善于搞砸JavaScript缓存),其次;由于多种原因,我会使用JsonProperty属性,例如[JsonProperty(“kind”)]然后Propercase属性。 –
我会尝试JsonProperty,但它通过这种方式昨天工作。 – Jeyhun