[英]How to Convert Json Object to C# Class Object
{
"users": [
{
"name": "User1",
"email": "support@korewireless.com",
"phone": "+12049987456",
"status": "Active",
"title": "Mr"
},
{
"name": "User2",
"email": "info@korewireless.com",
"phone": "+12040147456",
"status": "Active",
"title": "Mr"
},
{
"name": "User3",
"email": "help@korewireless.com",
"phone": "+12040787456",
"status": "Active",
"title": "Ms"
}
]
}
嘗試將此json對象轉換為列表,但僅具有空值
var a = JsonConvert.DeserializeObject<User>(jsonData);
我如何將其解析為類對象?
如果要反序列化特定的json字符串,則需要定義一個包含用戶列表的根對象。
例如:
public class ListRoot
{
public List<User> users { get; set; }
}
public class User
{
public string name { get; set; }
public string phone { get; set; }
public string email { get; set; }
public string status { get; set; }
public string title { get; set; }
}
現在你可以打電話
var data = JsonConvert.DeserializeObject<ListRoot>(jsonData);
foreach (User u in data.users)
{
Console.WriteLine($"User:name={u.name}, phone={u.phone}, email={u.email}");
}
當然,如果您可以控制json數據的產生,則可以采用更簡單的方法來准備json數據,如下所示
[
{
"name": "User1",
"email": "support@korewireless.com",
"phone": "+12049987456",
"status": "Active",
"title": "Mr"
},
{
"name": "User2",
"email": "info@korewireless.com",
"phone": "+12040147456",
"status": "Active",
"title": "Mr"
},
{
"name": "User3",
"email": "help@korewireless.com",
"phone": "+12040787456",
"status": "Active",
"title": "Ms"
}
]
使您能夠直接致電
List<User> users = JsonConvert.DeserializeObject<List<User>>(jsonData);
您應該轉換為對象列表,因為您的json是用戶對象的枚舉。 例如: var a = JsonConvert.DeserializeObject<List<User>>(jsonData);
這取決於您的User
類。 請提供驗證碼。
您的json看起來更像List<User>
的表示形式。 如果是這樣,則必須通過JsonConvert.DeserializeObject<List<User>>(json)
進行反序列化。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.