5. JSON 자료형
• String
• 문자열은 반드시 이중인용부호(“)로 감싸 준다.
• 모든 문자를 uxxxx (u에 이어 4자리의 16진수로 표현한 unicode)로 표현 가능
“가나다” - 단순한 문자열
“uAC00uB098uB2E4” - 에스케이프 표기한 “가나다” 문자
“foobarn” - 백 슬래시()와 줄바꿈(n)
• Boolean
• „true‟, „false‟ 모두 소문자 기술
6. JSON 자료형
• Number
• 정수와 부동소수점 모두 포함, 10진 표기로 한정
10 - 정수 값
-100 - 음수 값
30.1 - 소수점이 붙은 수치
1.0e-10 - 지수
• Null
• 반드시 „null‟이라고 소문자 기술
7. 일시
• Json에서 기본적으로 제공하는 자료형에 일시는 없음
• 개발자 스스로 규칙을 정해 사용
• 가장 단순한 방법으로 UNIX 시간을 수치로 표현 (1234567890 – 2009년 2월 14일 8시 31분 30초)
• UNIX는 타임 존을 다루지 못함, 타임 존이 필요할 시 JavaScript의 Date 클래스 toString() 메소드 이용
(“Mon Nov 01 2010 05:43:35 GMT+0900” – Fierfox 3.6)
(“Mon Nov 01 05:43:35 UTC+0900 2010” – IE 8)
• JavaScript는 브라우져별로 출력이 달라지기 때문에 표준적인 ISO 8601 사용 권장
(“2010-11-01T05:43:35+09:00”)
8. 링크
• 단순히 URI를 문자열로 표현
{
“href” : “http://example.com/foo/bar”
}
• URI는 절대 URI로 표현 권장
• 멤버의 이름을 링크를 나타내는 값으로 지정하여 표현 권장
9. 크로스 도메인 통신
• 불특정 다수의 서버에 엑세스 하는 것을 „크로스 도메인 통신‟ 이라 함
• Ajax에서 사용하는 XMLHttpRequest라는 JavaScript 모듈은 보안상 제한으로 하나의 서버와 통신 가능
• <script>요소를 이용해 크로스 도메인 통신 가능
• JSONP(Json with Paddinf)은 브라우져의 <script>요소를 이용해 크로스 도메인 통신 구현
• 클라이언트가 지정한 콜백 함수명을 랩핑하여 크로스 도메인 통신 구현
10. 크로스 도메인 통신
• test.html에 2개의 <script>요소 존재, 첫번째에서는 콜백 함수 foo 정의, 두번째에서 특정 도메인 호출
<html xmlns=“http://www.w3.org/1999/xhtml">
<head>
<title> 크로스 도메인 통신의 예 </title>
</head>
<body>
<script type = “text/javascript”>
function foo(zip) {
alert(zip[“zipcode”]);
} </script>
<script src=“http://zip.ricollab.jp/1120002.json?callback=foo”></script>
</body>
</html>