将值设置为从json创建的类的对象时出现问题

时间:2017-09-16 16:05:08

标签: c# json

我有一个json文件,我将其转换为类文件:

namespace Core2AadAuth
{
    public class Rootobject
    {
        public Adduser AddUser { get; set; }
    }

    public class Adduser
    {
        public bool accountEnabled { get; set; }
        public string creationType { get; set; }
        public string displayName { get; set; }
        public Passwordprofile passwordProfile { get; set; }
        public Signinname[] signInNames { get; set; }
    }

    public class Passwordprofile
    {
        public string password { get; set; }
        public bool forceChangePasswordNextLogin { get; set; }
    }

    public class Signinname
    {
        public string type { get; set; }
        public string value { get; set; }
    }
}

但我想要做的是创建该类的对象,为其添加值并将其序列化。问题是有4个单独的类。如果我以这种方式将它们添加到一个母班,他们就不会被连接,因为我基本上有4个不同的班级。

这是我向对象添加值的方式:

        Rootobject rootobject = new Rootobject();

        rootobject.AddUser.accountEnabled = true;
        rootobject.AddUser.creationType = "LocalAccount";
        rootobject.AddUser.displayName = "TestClassUser";
        rootobject.AddUser.passwordProfile.password = "TestClassUser";
        rootobject.AddUser.passwordProfile.forceChangePasswordNextLogin = false;


        Signinname userName = new Signinname();

        userName.type = "userName";
        userName.value = "TestClassUser";

        Signinname emailAddress = new Signinname();

        emailAddress.type = "emailAddress";
        emailAddress.value = "TestClassUser@Test.com";

我无法弄清楚如何将数据传递给Adduser中的Signinname类对象。

1 个答案:

答案 0 :(得分:0)

您可以创建这些类的实例,并根据Adduser的属性设置它们,例如

Adduser adduser = new Adduser();

adduser.passwordProfile = new PasswordProfile() 
{
    password = "TestClassUser",
    forceChangePasswordNextLogin = false
};
adduser.signInNames = new Signinname[2] {
    new Signinname() 
    {
        type = "userName",
        value = "TestClassUser"
    },
    new Signinname()
    {
        type = "emailAddress",
        value = "TestClassUser@Test.com"
    }
};