Properti json dinamis deserialisasi
Aug 20 2020
Saya mengalami kesulitan untuk mengetahui cara deserialisasi json, yang memiliki properti dinamis (misalnya - UserRequest :: 567) nama properti dapat berupa nilai apa pun dan objek UserRequest berisi properti json lain yang menarik bagi saya
Saya lelah menulis kelas dan saya tidak tahu apa yang harus saya lakukan dengan properti itu. Apa praktik terbaik untuk mengatasi masalah seperti ini?
{
"objects": {
"UserRequest::567": {
"code": 0,
"message": "created",
"class": "UserRequest",
"key": "567",
"fields": {
"ref": "R-000567",
"org_id": "4"
}
}
}
}

Pertanyaannya adalah apa praktik terbaik untuk membaca string json semacam ini?
Terima kasih
Jawaban
1 janzen Aug 20 2020 at 23:23
Untuk Deserialize
penggunaan ini Newtonsoft.Json
, berikut adalah kelasnya:
public class CreateRequest
{
public long code { get;set; }
public string message { get; set; }
[JsonProperty("class")]
public string class1 { get; set; }
public string key { get; set; }
public Fields fields { get; set; }
}
public class Fields
{
[JsonProperty("ref")]
public string refe { get; set; }
public string org_id { get; set; }
}
public class Root
{
public Dictionary<string, CreateRequest> objects { get; set; }
//The 'string' key in the dictionary is the 'UserRequest::567'
}
Kemudian Deserialize
gunakan:
var x = Newtonsoft.Json.JsonConvert.DeserializeObject<Root>(jsonObject).objects.Values;
Taylor Sheridan Baru Menambahkan 1 Bintang 'Yellowstone' Favoritnya ke Pemeran 'Lawmen: Bass Reeves'