C# - 从 JSON 字符串结果提供视图模型



美好的一天,

我需要帮助提取 JSON 字符串并将其提供给我的视图模型。

在我的示例中,我有一个具有 2 个类的视图模型。

类:

public class Student {
public int StudentId {get;set;}
public string Firstname {get;set;}
public string Lastname {get;set;}
}
public class Address {
public int AddressId {get;set;}
public string Street {get;set;}
}

视图模型:

public class StudentAddressViewModel{
public Student Student {get;set;}
public Address Address {get;set}
}

控制器:

public async Task<IActionResult> Create(IFormCollection studentInfo){
// wherein studentInfo is the key
...
}

在我的控制器中,我正在发送此 JSON 字符串。

{[studentInfo,{"Student":{"firstname":"Johhny","lastname":"Bravo"},"Address":{"street":"New york street..."}])

我正在尝试这个:

var studentInfo = studentInfo["studentInfo"];
var value = JsonConvert.DeserializeObject<Dictionary<string,string>>(studentInfo);
var studentVm = new StudentAddressViewModel{
new Student{
Firstname: value["firstname"], Lastname: value["lastname"]
},
new Address{
Address: value["address"]
}
}

但是我有一个空value.

有什么帮助吗?

尝试直接在DeserializeObject而不是字典中提供视图模型。

var studentInfo = studentInfo["studentInfo"];
var value = JsonConvert.DeserializeObject<StudentAddressViewModel>(studentInfo);

然后直接调用每个模型。

var studentVm = new StudentAddressViewModel{
Student = value.Student,
Address = value.Address
}

我希望这也对其他人有所帮助。

最新更新