[英]I can't deserialize json array
我輸入了json
{
"StudentData": {
"Students": [{
"StudentId": 76769,
"StudentName": "*****",
"Contacts": [{
"ContactName": "****",
"ContactEmail": "****",
"АvailableContactEmail": true,
"ContactMobile": "****",
"АvailableContactMobile": true
}]
}]
}
}
和這段代碼
public class Contacts
{
public string ContactName { get; set; }
public string ContactEmail { get; set; }
public bool АvailableContactEmail { get; set; }
public string ContactMobile { get; set; }
public bool АvailableContactMobile { get; set; }
}
public class Students
{
public int StudentId { get; set; }
public string StudentName { get; set; }
public List<Contacts> Contacts { get; set; }
}
public class StudentData
{
public List<Students> Students { get; set; }
}
public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log)
{
log.Info("C# HTTP trigger function processed a request.");
// Get request body
dynamic data = await req.Content.ReadAsAsync<object>();
var stuData = JsonConvert.DeserializeObject <StudentData>(data?.StudentData.ToString());
RootObjectNew RootObjectNewObject = new RootObjectNew();
List<StudentNew> students = new List<StudentNew>();
foreach (var stu in stuData.Students)
{
var stuContacts = JsonConvert.DeserializeObject <List<Contacts>>(stu?.Contacts.ToString());
}
}
但我無法聯系。 得到錯誤
解析值時遇到意外字符:S.路徑”,第0行,位置0。
請幫助對結構進行正確的分析。 我瀏覽了許多類似的主題,但它們並沒有幫助我
data?.StudentData.ToString()
不會為您提供對象的JSON
表示,而只是顯示其名稱。
嘗試跟隨
public class StudentDataContainer
{
public StudentData StudentData { get; set; }
}
var data = await req.Content.ReadAsAsync<StudentDataContainer>();
我會建議這些課程
public class Contact
{
public string ContactName { get; set; }
public string ContactEmail { get; set; }
public bool АvailableContactEmail { get; set; }
public string ContactMobile { get; set; }
public bool АvailableContactMobile { get; set; }
}
public class Student
{
public int StudentId { get; set; }
public string StudentName { get; set; }
public List<Contact> Contacts { get; set; }
}
public class StudentData
{
public List<Student> Students { get; set; }
}
public class RootObject
{
public StudentData StudentData { get; set; }
}
然后你可以簡單地做到這一點
RootObject root = JsonConvert.DeserializeObject<RootObject>(json);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.