繁体   English   中英

Null class 反序列化时 Json C#

[英]Null class when deserializing Json C#

我有这个 PHP

            if ($result->num_rows === 1) {
                    $sql = ("SELECT username, email, plan, activationdate, terminationdate FROM users WHERE username = '$username' LIMIT 1");
$res = mysqli_query($conn,$sql);
if ($res->num_rows === 1) {
while($row = mysqli_fetch_object($res)){
$arr = array( $row);
echo json_encode($arr);

正确返回此 json [{"username":"xxxxx","email":"xxxxxx","plan":"0","activationdate":"","terminationdate":""}]

现在在 c# 我尝试使用List<Information> resinfo = JsonConvert.DeserializeObject<List<Information>>(str2);反序列化并返回 null 值

请注意,在图片Null 结果中,但 json 字符串按预期返回值Json 字符串

这是我的 class

public class Information
{

    public static string username { get; set; }
    public static string email { get; set; }
    public static string plan { get; set; }
    public static string activationdate { get; set; }
    public static string terminationdate { get; set; }
}

当我尝试反序列化到 class 时,为什么会得到 null 以及如何正确反序列化?

值得一提的是,我试过这个var json = JsonConvert.DeserializeObject<List<Information>>(str2); 结果相同

这是因为您Information class 中的所有属性都是static 删除 static 关键字并重试。

JsonConvert.DeserializeObject将仅设置实例属性,因此它们不能声明为 static。

执行后查看removedFines变量(如您的图像中所示)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM