【发布时间】:2019-04-09 06:59:58
【问题描述】:
我正在尝试将 json 对象反序列化为 c# 对象,但无法做到。这是我发送的 json 对象
{
"User_":
{
"Email":"test@test.com",
"Password":"pass1"
}
}
这是我使用的 c# 类
public class User_
{
public string Email { get; set; }
public string Password { get; set; }
}
公共类用户_ { 公共字符串电子邮件{获取;放; } 公共字符串密码{获取;放; } }
public class RootObject
{
public User_ User_ { get; set; }
}
这是我用来反序列化的代码
RootObject request = JsonConvert.DeserializeObject<RootObject>(json.ToString());
此代码创建一个 User_ 对象,但电子邮件和密码字段为空。我在这里做错了什么?
在调试的时候,我看到了即将发生的事情
{{ "{\"Email_\":\"test@test.com\",\"Password_\":\"pass1\"}": "" }}
看起来很奇怪
【问题讨论】:
-
你应该反序列化为
RootObject。而且您需要更改属性的名称以匹配 json 中的名称(或相反)并且类User_可能应该是User -
例如,您将问题编辑为反序列化为
RootObject而不是User_。 这是否解决了您的问题? 如果是,那么很可能这是不正确的做法,因为如果这解决了您的问题,您可能应该删除该问题,因为它不再有意义。 -
那么请将您的实际代码发布为您在问题does work中发布的代码。
-
我喜欢 Json/C# 问题的模糊性,每个问题都带有新的“Json2CSharp”、“相同的代码相同的东西”。要么是骗子,要么是错字,要么是需要 MCVE。我们不需要这么多答案。
-
您截图中的json与您问题中的json不匹配。
标签: c# json deserialization