동적 JSON 속성 역 직렬화
Aug 20 2020
동적 속성 (예 : UserRequest :: 567) 이 있는 json을 deserialize하는 방법을 알아내는 데 어려움 이 있습니다.
나는 수업 작성에 지 쳤고 그 속성으로 무엇을 해야할지 모르겠습니다. 이와 같은 문제에 대처하기위한 모범 사례는 무엇입니까?
{
"objects": {
"UserRequest::567": {
"code": 0,
"message": "created",
"class": "UserRequest",
"key": "567",
"fields": {
"ref": "R-000567",
"org_id": "4"
}
}
}
}

질문은 이런 종류의 json 문자열을 읽는 모범 사례는 무엇입니까?
감사합니다
답변
1 janzen Aug 20 2020 at 23:23
를 Deserialize
사용하여 Newtonsoft.Json
여기에 클래스가 있습니다.
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'
}
그런 다음 Deserialize
사용하려면 :
var x = Newtonsoft.Json.JsonConvert.DeserializeObject<Root>(jsonObject).objects.Values;