JSON 해석 과 XML 해석 의 차이 점 비교

JSON 해석 과 XML 해석 은 비교적 보편적 인 두 가지 해석 방식 으로 그 중에서 JSON 해석 의 시장 분 액 이 더욱 크다.본 고 는 두 가지 분석 방식 의 차 이 를 체계적으로 분석 하여 데 이 터 를 더욱 잘 처리 하기 위해 준비 하고 있다.현재 단 계 는 주로 모 바 일 개발 을 하기 때문에 본 고 에서 묘사 한 JSON 해석 과 XML 해석 은 모두 안 드 로 이 드 환경 에서 테스트 를 한다.
우선 데이터 분석 은 데이터 의 모든 값 을 얻 기 위 한 것 이 며,JSON 데이터 에 있어 서 는 키 값 이 맞 는 형식 과 유사 하 며,XML 에 있어 서 는 태그 와 값 의 형식 임 을 명 확 히 해 야 한다.쉽게 말 하면 JSON 데이터 나 XML 데이터 에서 키 나 탭 을 이용 하여 대응 하 는 값 을 찾 는 것 이다.
그 다음 에 두 가지 데이터 의 데이터 구 조 를 알 아 봐 야 한다.JSON 데 이 터 는 세 가지 로 나 뉜 다.대상 유형,배열 유형,혼합 유형 이다.대상 유형 JSON 데 이 터 는 대괄호 로 감 싸 고 속성 과 값 이 대응 합 니 다.배열 형식 JSON 데 이 터 는 여러 대상 유형 JSON 데 이 터 를 조합 하여 중 괄호 로 감 싸 는 것 으로 볼 수 있다.혼합 형 JSON 데이터 에는 대상 유형 과 배열 유형 이 있 고 대괄호 는 대상 을 나타 내 며 대괄호 는 배열 을 나타 낸다.XML 데 이 터 는 라벨 형식 으로 저장 되 며 라벨 이름 을 통 해 값 을 얻 습 니 다.따라서 JSON 해석 이 든 XML 해석 이 든 두 열 집합 을 정의 하여 데 이 터 를 저장 할 수 있 습 니 다.
JSON 데이터 형식:

안 드 로 이 드 환경 에서 JSON 데 이 터 를 분석 하 는 데 는 두 가지 방식 이 있 는데 하 나 는 사용자 정의 방법 으로 데이터 구조 에 따라 층 을 나 누 어 분석 하 는 것 이 고 다른 하 나 는 오픈 소스 프레임 워 크 를 사용 하 는 것 이다.사용자 정의 방법 으로 분석 할 때 대상 분석,배열 분석,종합 분석 으로 나 눌 수 있 습 니 다.대상 분석 이 간단 합 니 다.먼저 JSON 대상 을 만 들 고 대상 의 GetXxx()방법 으로 해당 하 는 값 을 얻 은 다음 집합 에 저장 하면 JSON 데 이 터 를 얻 을 수 있 습 니 다.배열 분석 은 먼저 JsonArray 대상 을 통 해 JSON 대상 을 얻 은 다음 대상 분석 방법 을 참조 합 니 다.종합 적 인 해석 은 상술 한 두 가지 해석 을 바탕 으로 이 루어 진 것 이다.JSON 데이터 의 구조 에 따라 JSON 대상 과 JSonArray 대상 을 순서대로 한 번 에 가 져 와 필요 한 데 이 터 를 가 져 오 는 것 을 알 수 있 습 니 다.오픈 소스 프레임 워 크 로 기본 원 리 를 분석 하 는 것 은 유사 합 니 다.가방 의 내용 을 미리 안내 하고 방법 류 를 만들어 서 호출 해 야 합 니 다.
대상 형식의 JSON 데이터 읽 기:

배열 형식의 JSON 데이터 읽 기:

종합 형식의 JSON 데이터 읽 기:

JSON 데 이 터 를 원본 프레임 워 크 로 읽 는 디 렉 터 리 구조:

XML 해석 은 읽 으 면서 해석 하 는 것 으로 방법 이 비교적 고정 적 이 며 위 에서 아래로 순서대로 해석 합 니 다.먼저 XmlPullParser 해상도 기 를 만 들 고 해상도 기 를 이용 하여 분석 할 스 트림 대상 을 설정 합 니 다.그리고 한 순환 에서 탭 종 류 를 판단 합 니 다.파일 끝 표 시 를 만나면(ENDDOCUMENT)서명 이 순환 을 벗 어 나 지 않 으 면 순환 에 들 어 갑 니 다.순환 중 에 두 가지 상황 이 있 습 니 다.탭 을 시작 하면(STARTTAG)태그 내부 에 들 어가 서 태그 이름 에 따라 가 져 올 데 이 터 를 판단 합 니 다.태그 서명 과 가 져 올 데이터 이름 이 같 을 때 nextText()로 데 이 터 를 가 져 옵 니 다.마무리 탭(ENDTAG)가 져 온 데 이 터 를 집합 에 저장 합 니 다.마지막 으로 탭 을 다음 위치 로 옮 기 는 것 을 잊 지 마 세 요.즉,type=parser.next()입 니 다.
XML 분석 방법 코드:

더 좋 은 프레젠테이션 효 과 를 위해 본 고 는 최종 적 으로 안 드 로 이 드 장치 로 Tomcat 서버 에서 JSON 데이터 와 XML 데 이 터 를 얻 은 다음 에 분석 한 결 과 를 안 드 로 이 드 장치 에 보 여 주 는 사례 를 제시 했다.
JSON 원본 데이터:

{
"resultcode": "200",
"reason": "    !",
"result": {
"sk": { 
"temp": "21", 
"wind_direction": "  ", 
"wind_strength": "2 ", 
"humidity": "4%", 
"time": "14:25" 
},
"today": {
"city": "  ",
"date_y": "2014 03 21 ",
"week": "   ",
"temperature": "8℃~20℃", 
"weather": "   ", 
"weather_id": { 
"fa": "00", 
"fb": "53" 
},
"wind": "     ",
"dressing_index": "  ", 
"dressing_advice": "     、      、     。", 
"uv_index": "  ", 
"comfort_index": "", 
"wash_index": "   ", 
"travel_index": "  ", 
"exercise_index": "   ", 
"drying_index": "" 
},
"future": [ 
{
"temperature": "28℃~36℃",
"weather": "    ",
"weather_id": {
"fa": "00",
"fb": "01"
},
"wind": "  3-4 ",
"week": "   ",
"date": "20140804"
},
{
"temperature": "28℃~36℃",
"weather": "    ",
"weather_id": {
"fa": "00",
"fb": "01"
},
"wind": "   3-4 ",
"week": "   ",
"date": "20140805"
},
{
"temperature": "27℃~35℃",
"weather": "    ",
"weather_id": {
"fa": "00",
"fb": "01"
},
"wind": "   3-4 ",
"week": "   ",
"date": "20140806"
},
{
"temperature": "27℃~34℃",
"weather": "  ",
"weather_id": {
"fa": "01",
"fb": "01"
},
"wind": "   3-4 ",
"week": "   ",
"date": "20140807"
},
{
"temperature": "27℃~33℃",
"weather": "  ",
"weather_id": {
"fa": "01",
"fb": "01"
},
"wind": "   4-5 ",
"week": "   ",
"date": "20140808"
},
{
"temperature": "26℃~33℃",
"weather": "  ",
"weather_id": {
"fa": "01",
"fb": "01"
},
"wind": "  4-5 ",
"week": "   ",
"date": "20140809"
},
{
"temperature": "26℃~33℃",
"weather": "  ",
"weather_id": {
"fa": "01",
"fb": "01"
},
"wind": "  4-5 ",
"week": "   ",
"date": "20140810"
}
]
},
"error_code": 0
}
그 중의"future"데 이 터 를 분석 한 결 과 는 다음 과 같 습 니 다.

XML 원본 데이터:

<?xml version="1.0" encoding="UTF-8" ?> 
<channel>
<item>
<title>      </title> 
<description>           ,  ,  , ,    。
</description>
<image>http://192.168.1.103:8080/img/a.jpg</image>
<type>1</type>
<comment>163</comment>
</item>
<item>
<title>           </title> 
<description>           ,         
</description>
<image>http://192.168.1.103:8080/img/b.jpg</image>
<type>2</type>
</item>
<item>
<title>   “   ”     </title> 
<description>  :     ,   “   ”     ,         </description>
<image>http://192.168.1.103:8080/img/c.jpg</image>
<type>3</type>
</item>
<item>
<title>           </title> 
<description>   :   ,           
</description>
<image>http://192.168.1.103:8080/img/d.jpg</image>
<type>1</type>
<comment>763</comment>
</item>
</channel>
분석 후의 성과 전시:

이로써 JSON 해석 과 XML 해석 이 기본적으로 완료 됐다.
위 에서 말 한 것 은 편집장 님 께 서 소개 해 주신 JSON 해석 과 XML 해석 의 차 이 를 비교 한 것 입 니 다.여러분 께 도움 이 되 셨 으 면 좋 겠 습 니 다.궁금 한 점 이 있 으 시 면 댓 글로 남 겨 주세요.편집장 님 께 서 바로 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기