반응형
어레이 JSON 길이를 가져옵니다.그물
C#의 json.net을 사용하여 입수할 수 있는JSON 어레이의 길이를 입수하려면 어떻게 해야 합니다.SOAP 콜을 송신한 후 응답으로 JSON 스트링을 취득하여 json.net을 사용하여 해석합니다.
취득한 json의 예:
{"JSONObject": [
{"Id":"ThisIsMyId","Value":"ThisIsMyValue"},
{"Id":"ThisIsMyId2","Value":"ThisIsMyValue2"}
]}
해석해서 콘솔에 씁니다.
var test = JObject.Parse (json);
Console.WriteLine ("Id: {0} Value: {1}", (string)test["JSONObject"][0]["Id"], (string)test["JSONObject"][0]["Value"]);
이건 마법처럼 작동하는데, 단지 그 길이만 알 수가 없어.JSONObject
단, for 루프에서 실행해야 합니다.어떻게 하면 그 길이를 알 수 있을지 모르겠다.test["JSONObject"]
근데 뭐랄까test["JSONObject"].Length
너무 쉬울 것 같아:(..)
오브젝트를 에 송신할 수 있습니다.JArray
그런 다음 를 사용합니다.Count
다음과 같은 속성:
JArray items = (JArray)test["JSONObject"];
int length = items.Count;
그런 다음 다음과 같이 항목을 루프할 수 있습니다.
for (int i = 0; i < items.Count; i++)
{
var item = (JObject)items[i];
//do something with item
}
Onno(OP)에 따라 다음 항목도 사용할 수 있습니다.
int length = test["JSONObject"].Count();
하지만 개인적으로 이것이 효과가 있는지 확인하지는 못했습니다.
가장 쉽고 깔끔한 방법:
int length = test["JSONObject"].Count;
아래 행을 사용하여의 JSON 배열 길이를 얻을 수 있습니다.네트워크(JArray
) .
int length = ((JArray)test["jsonObject"]).Count;
이것만 시험해 보세요.
var test= ((Newtonsoft.Json.Linq.JArray)json).Count;
이것은 json 데이터가 json 파일에 있다고 가정했을 때 효과가 있었습니다.이 경우,길이는 작동하지만 사용할 수 있는 인텔리전스가 없습니다.
public ActionResult Index()
{
string jsonFilePath = "C:\\folder\\jsonLength.json";
var configFile = System.IO.File.ReadAllText(jsonFilePath);
JavaScriptSerializer jss = new JavaScriptSerializer();
var d = jss.Deserialize<dynamic>(configFile);
var jsonObject = d["JSONObject"];
int jsonObjectLength = jsonObject.Length;
return View(jsonObjectLength);
}
언급URL : https://stackoverflow.com/questions/19025174/get-length-of-array-json-net
반응형
'source' 카테고리의 다른 글
IPython 노트북의 예쁜 JSON 포맷 (0) | 2023.03.10 |
---|---|
액션이 디스패치된 후 Redux 스토어에서 특정 속성 변경을 수신하는 방법 (0) | 2023.03.10 |
ORA-01775: 유사어 루프 체인 디버깅 방법 (0) | 2023.03.10 |
Angular를 사용할 수 있습니까?JS는 Jinja2 템플릿엔진을 탑재하고 있습니까? (0) | 2023.03.10 |
스타일 구성 요소 내에서 material-ui 버튼의 호버 효과를 비활성화하는 방법 (0) | 2023.03.10 |