RESTFUL API
내부적으로 사용하는 응용 프로그램에을 사용 하려고합니다 . API를 한 번 호출하면 다음이 반환됩니다 JSON
.
{
"operation": {
"name": "GET RESOURCES",
"result": {
"status": "Success",
"message": "Query was successful"
},
"totalRows": 2,
"Details": [{
"RESOURCE DESCRIPTION": "Windows",
"RESOURCE TYPE": "Windows",
"RESOURCE ID": "101",
"RESOURCE NAME": "WINDOWSPC",
"NOOFACCOUNTS": "1"
}, {
"RESOURCE DESCRIPTION": "Ubuntu",
"RESOURCE TYPE": "Linux",
"RESOURCE ID": "808",
"RESOURCE NAME": "UBUNTUPC",
"NOOFACCOUNTS": "2"
}]
}
}
사용 json.net
하여 json을 deseralize하고 다음 줄로 통계를 확인하십시오.
dynamic json = JsonConvert.DeserializeObject(response);
var status = json.operation.result.status.Value;
다음으로 반환 된 각 "Details"의 각 값을 가져오고 싶지만 방법을 알 수 없습니다. 나는 먼저 이것으로 만 세부 정보를 얻으려고 시도했습니다.
var resourceList = json.operation.Details
어느 것이 작동하지만 예를 들어 "RESOURCE ID"와 "RESOURCE NAME"을 얻기 위해 이것을 반복 할 수는 없습니다.
.Children()
둘 중 하나를 사용할 수는 없지만 resourceList 위로 마우스를 가져 가면 ChildrenTokens
내가 원하는 것처럼 보이지만 내 코드에서 얻을 수 없습니다.
또한 예제에resourceList
따라 DataSet으로 사용하려고 시도했지만 예외가 발생합니다.
누군가 내가 뭘 잘못하고 있는지 볼 수 있습니까 ..... C #에서 JSON 구문 분석에 익숙하지 않습니다.
이를 Json.Linq
위해 사용 하고 응답을로 파싱 한 JObject
다음 foreach
루프 를 반복 할 수 있습니다. 가능하기 때문에 Details
배열이고 JObject
구현 IDictionary<string, JToken>
하고IEnumerable<KeyValuePair<string, JToken>>
var jObject = JObject.Parse(response);
foreach (var detail in jObject["operation"]["Details"])
{
var description = detail["RESOURCE DESCRIPTION"].Value<string>();
//other properties
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다