위에서 언급 한 JSON 데이터는 웹 서비스 또는 웹의 다른 소스에서 가져 오지 않습니다. 수동으로 템플릿을 만들고 JSON 형식의 데이터를 로컬 컴퓨터의 텍스트 파일에 저장합니다. 작업을 수행하는 데 유용한 방법이 포함되어 있습니다. 지금까지 사용한 코드는 다음과 같으며 적절하게 인쇄됩니다.
WebClient w = new WebClient();
var data = w.DownloadString(@"D:\ComponentsJSON.txt");
//Read the file
JObject j = JObject.Parse(data);
Console.WriteLine("Name: " + j["name"]);
Console.WriteLine("Property1: " + j["property"][0]);
Console.WriteLine("Property2: " + j["property"][1]);
하지만 위의 내용은 텍스트 파일에서 한 줄만 읽을 수 있는데, 같은 파일에 여러 Json 요소가있는 경우 어떻게 할 수 있습니까?
D : \ ComponentsJSON.txt의 내용은 다음과 같습니다.
[{"name":"WinWindow", "property" : ["Name","ClassName"], "value": ["MCP","OSCP"]},
{"name":"WinButton", "property" :["Name","ClassName"], "value": ["OK","Button"]}]
Parse
방법이 아닌 전체 파일을 역 직렬화, 특정 개체를 구문 분석합니다. JSON에 배열이 포함 된 경우 JArray.Parse를 호출해야합니다. JObject는 단일 객체 만 구문 분석합니다.
임의의 문자열을 읽으려면 JsonConvert.DeserializeObject 오버로드 중 하나를 사용합니다 . 예 :
var data=JsonConvert.DeserializeObject(data);
또는
var items=JsonConvert.DeserializeObject<List<MyClass>>(data);
Json.NET 문서에서 " Serializing Collections "를 확인하십시오.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다