이 글에서는 주로 asp.net이 다중 계층 중첩 json 데이터를 추출하는 방법을 소개하며, json 형식 데이터를 구문 분석하는 asp.net의 단계와 관련 작업 기술을 예제 형식으로 자세히 분석합니다. 도움이 필요한 친구들은
을 참고하세요. 이 글은 asp.net에서 다중 레이어 중첩 json 데이터를 추출하는 방법을 설명합니다. 참고용으로 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.
.net 2.0에서 다음과 같이 json을 추출합니다.
코드 복사 코드는 다음과 같습니다. 다음과 같습니다:
{"name":"lily","age":23,"addr":{"city":guangzhou,"province":guangdong}}
참조 네임스페이스 :
using Newtonsoft.Json; using Newtonsoft.Json.Linq;
위의 JSON을 객체라고 생각하시면 됩니다.
public class UserInfo { public string name; public int age; public address addr; } public class address { public string city; public string province; }
그런 다음 구문 분석 위치에 다음과 같이 작성합니다.
string jsonData="{\"name\":\"lily\",\"age\":23,\"addr\":{\"city\":guangzhou,\"province\":guangdong}}"; UserInfo user=(UserInfo)JsonConvert.DeserializeObject(jsonData, typeof(UserInfo));
City의 값을 얻으려면 user.addr.City를 사용하면 됩니다. ;
이것도 작동합니다
JObject jsonObj = JObject.Parse(jsonData); string name=jsonObj ["name"].ToString(); string age=jsonObj ["age"].ToString(); string city=((JObject )jsonObj ["addr"])["city"].ToString(); string province=((JObject )jsonObj ["addr"])["province"].ToString();
이 json이 왜 동적인가요? 예를 들어
코드 복사 와 같은 json을 입력한다고 가정해 보겠습니다. 코드는 다음과 같습니다.
{"name":"lily"," age":23," addr":{"city":guangzhou,"province":guangdong}};
그런 다음 도시와 같은 개체를 입력할 수 있으며 시스템에서 값을 출력합니다. 이 경우 json은 동적으로 생성됩니다. 예, 그러한 json을 읽을 수 있는 방법이 있는지 알고 싶습니다. (json은 다중 레벨 중첩되어 있습니다.)
전화할 때 순회
public string GetJsonValue(JEnumerable<JToken> jToken,string key) { IEnumerator enumerator = jToken.GetEnumerator(); while (enumerator.MoveNext()) { JToken jc = (JToken)enumerator.Current; if (jc is JObject||((JProperty)jc).Value is JObject) { return GetJsonValue(jc.Children(), key); } else { if (((JProperty)jc).Name == key) { return ((JProperty)jc).Value.ToString(); } } } return null; }
를 사용하세요.
string jsonData = "{\"name\":\"lily\",\"age\":23,\"addr\":{\"city\":\"guangzhou\",\"province\":\"guangdong\"}}"; JObject jsonObj = JObject.Parse(jsonData); Response.Write(GetJsonValue(jsonObj.Children(), "province"));
여러 수준의 중첩 배열이 있는 경우
string jsonData = "{\"addr\":[{\"city\":\"guangzhou\",\"province\":\"guangdong\"},{\"city\":\"guiyang\",\"province\":\"guizhou\"}]}"; JObject jsonObj = JObject.Parse(jsonData); JArray jar = JArray.Parse(jsonObj["addr"].ToString()); JObject j = JObject.Parse(jar[0].ToString()); Response.Write(j["city"]);
JSON을 XML로:
코드 복사 코드는 다음과 같습니다.
string xmlstr=((XmlDocument)JsonConvert.DeserializeXmlNode(jsonData)).InnerXml.ToString();
자세한 내용 asp.net에서 다층 중첩 json 데이터를 추출하는 방법에 대한 관련 기사는 PHP 중국어 웹사이트를 주목하세요!