ASP.NET 에서 다 중 포 함 된 json 데 이 터 를 추출 하 는 방법 을 자세히 설명 합 니 다.
추출 할 json 문자열 을 다음 과 같이 가정 합 니 다.
{"name":"lily","age":23,"addr":{"city":guangzhou,"province":guangdong}}
먼저 네 임 스페이스 참조:
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
위 에 있 는 제 이 슨 문자열 을 하나의 대상 으로 볼 수 있 습 니 다.해당 하 는 클래스 만 작성 하면 됩 니 다.(VS 2013 을 사용 하여 개발 하면'편집-선택 적 붙 여 넣 기-JSON 붙 여 넣 기 클래스'를 통 해 제 이 슨 문자열 을 실체 클래스 로 빠르게 변환 할 수 있 습 니 다)
public class UserInfo
{
public string name;
public int age;
public address addr;
}
public class address
{
public string city;
public string province;
}
1.json 문자열 을 실체 대상 으로 변환 하 는 코드 는 다음 과 같 습 니 다.
string jsonData="{\"name\":\"lily\",\"age\":23,\"addr\":{\"city\":guangzhou,\"province\":guangdong}}";
UserInfo user=(UserInfo)JsonConvert.DeserializeObject(jsonData, typeof(UserInfo));
2.json 의 특정한 속성의 값 을 읽 으 려 면 코드 를 사용 할 수 있 습 니 다.
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();
3.다 중 끼 워 넣 기 json 을 설명 하고 임의의 속성의 값 을 가 져 옵 니 다:처리 해 야 할 json 문자열 은 다음 과 같 습 니 다:
{"name":"lily","age":23,"addr":{"city":guangzhou,"province":guangdong}};
그리고'city'와 같은 대상 을 입력 하 라 고 하면 시스템 은'guangzhou'를 출력 하고'age'를 입력 하면'23'을 출력 합 니 다.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;
}
GetJSonValue 코드 호출:
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"]);
4.JSON 이 XML 로 전환:
string xmlstr=((XmlDocument)JsonConvert.DeserializeXmlNode(jsonData)).InnerXml.ToString();
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
확장-JsonFileJson 형식은 사물을 정의하는 놀라운 방법이므로 개발자는 엔티티를 설명하기 위해 코드 저장소에 Json 형식을 자주 사용합니다. Devops는 또한 json 파일을 사용하여 애플리케이션 또는 기타 항목을 구성합니다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.