Chapter 14. json

339
-1

Published on

json

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
339
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Chapter 14. json

  1. 1. Team-Mobs 박 기 덕 CHAPTER 14. JSON
  2. 2. JSON이란? • JavaScript Object Notation, RFC 4627 • JavaScript 구문 형식을 따르며, 언어나 플랫폼에 독립적 • 미디어 타입 : „application/json‟ • 표현 가능한 자료형 • object, array, string, number, boolean, null
  3. 3. JSON 자료형 • Object • 이름과 값의 집합, 이름은 항상 문자열, 값은 Json의 자료형 가능 • object는 {}로 감싸고, 멤버는 „,‟로 구분하며 이름과 값는 „:‟으로 구분 { “name” : { “first” : “John”, “last” : “Doe” }, “blog” : “http://blog.example.com”, “age” : 34, “interests” : [“Web”, “XML”, “REST”] }
  4. 4. JSON 자료형 • Array • 순서를 가진 값의 집합, []감싸며 값은 „,‟로 구분 [ “foo”, “bar”, “baz” ] - 문자열의 배열 [ { “foo” : “bar” }, { “key” : “value” } ] - 오브젝트의 배열 [ [ 10, 10 ], [ 40, 50 ] ] - 배열의 배열 [ ] - 빈 배열 [ { “foo” : “bar” }, “baz”, 100, true, null ] - 복잡한 배열
  5. 5. JSON 자료형 • String • 문자열은 반드시 이중인용부호(“)로 감싸 준다. • 모든 문자를 uxxxx (u에 이어 4자리의 16진수로 표현한 unicode)로 표현 가능 “가나다” - 단순한 문자열 “uAC00uB098uB2E4” - 에스케이프 표기한 “가나다” 문자 “foobarn” - 백 슬래시()와 줄바꿈(n) • Boolean • „true‟, „false‟ 모두 소문자 기술
  6. 6. JSON 자료형 • Number • 정수와 부동소수점 모두 포함, 10진 표기로 한정 10 - 정수 값 -100 - 음수 값 30.1 - 소수점이 붙은 수치 1.0e-10 - 지수 • Null • 반드시 „null‟이라고 소문자 기술
  7. 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. 8. 링크 • 단순히 URI를 문자열로 표현 { “href” : “http://example.com/foo/bar” } • URI는 절대 URI로 표현 권장 • 멤버의 이름을 링크를 나타내는 값으로 지정하여 표현 권장
  9. 9. 크로스 도메인 통신 • 불특정 다수의 서버에 엑세스 하는 것을 „크로스 도메인 통신‟ 이라 함 • Ajax에서 사용하는 XMLHttpRequest라는 JavaScript 모듈은 보안상 제한으로 하나의 서버와 통신 가능 • <script>요소를 이용해 크로스 도메인 통신 가능 • JSONP(Json with Paddinf)은 브라우져의 <script>요소를 이용해 크로스 도메인 통신 구현 • 클라이언트가 지정한 콜백 함수명을 랩핑하여 크로스 도메인 통신 구현
  10. 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>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×