GET 요청에 대한 서버 응답으로 다음 JSON 개체를 받고 있습니다.
{{ "data": [ { "role_id": "1", "role_name": "Administrator" }, { "role_id": "2", "role_name": "Operator" } ]}}
"role_id"배열과 "role_name"별도 배열을 만들려고합니다. 그런 다음 "role_name"배열의 각 구성원을 콤보 상자에 추가하려고합니다. 지금은 Newtonsoft.Json.Linq를 사용하여 다음을 수행하고 있습니다.
JObject par = JObject.Parse(res);
foreach(string s in (string)par["data"]))
{
}
string role = (string)par["data"]["role_id"];
string name = (string)par["data"]["role_name"];
this.cmbRoleID.Items.Add(name.ToString());
{{ "data": []}}에 얼마나 많은 role_id와 role_name 쌍이 전송되었는지에 관계없이 foreach 루프 또는 무언가를 사용하여 어떻게 할 수 있는지 궁금합니다.
json 문자열을 클래스로 deserialize하지 않는 이유는 무엇입니까? JSON 구조에 매핑되는 클래스 생성
public class Data
{
public string role_id { get; set; }
public string role_name { get; set; }
}
public class RootObject
{
public List<Data> data { get; set; }
}
그런 다음 역 직렬화하고 객체 배열을 반복 할 때 평소처럼 반복합니다.
var result = JsonConvert.DeserializeObject<RootObject>(res);
foreach(var item in result.data)
{
//item.role_id, item.role_name
//Your logic here.
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다