Abc
-
Upload
seok-min-ko -
Category
Documents
-
view
478 -
download
4
Transcript of Abc
![Page 1: Abc](https://reader031.fdocuments.us/reader031/viewer/2022020306/5563a45dd8b42a2b6a8b5172/html5/thumbnails/1.jpg)
JSON
JavaScript Object Notation
![Page 2: Abc](https://reader031.fdocuments.us/reader031/viewer/2022020306/5563a45dd8b42a2b6a8b5172/html5/thumbnails/2.jpg)
Object of JavaScript
Really LightweightList of Key-Value Pair
PrototypeLittle Database
![Page 3: Abc](https://reader031.fdocuments.us/reader031/viewer/2022020306/5563a45dd8b42a2b6a8b5172/html5/thumbnails/3.jpg)
Object Literals
Most Important Feature of JavaScript
![Page 4: Abc](https://reader031.fdocuments.us/reader031/viewer/2022020306/5563a45dd8b42a2b6a8b5172/html5/thumbnails/4.jpg)
What is Literals?
![Page 5: Abc](https://reader031.fdocuments.us/reader031/viewer/2022020306/5563a45dd8b42a2b6a8b5172/html5/thumbnails/5.jpg)
This is Literals
"ABC"5
/^[A-Z]$/
![Page 6: Abc](https://reader031.fdocuments.us/reader031/viewer/2022020306/5563a45dd8b42a2b6a8b5172/html5/thumbnails/6.jpg)
Same Objects
new String("ABC");new Integer(5);
new RegEx("^[A-Z]$");
![Page 7: Abc](https://reader031.fdocuments.us/reader031/viewer/2022020306/5563a45dd8b42a2b6a8b5172/html5/thumbnails/7.jpg)
Object Literalsvar myObject = { name: "Kim Young Hoo", 'goto': 'Jail', grade: 'A', level: 3};
![Page 8: Abc](https://reader031.fdocuments.us/reader031/viewer/2022020306/5563a45dd8b42a2b6a8b5172/html5/thumbnails/8.jpg)
No Literalsvar myObject = new Object();
myObject["name"] = "Kim Young Hoo";myObject["goto"] = "Jail";myObject["grade"] = "A";myObject["level"] = 3;
![Page 9: Abc](https://reader031.fdocuments.us/reader031/viewer/2022020306/5563a45dd8b42a2b6a8b5172/html5/thumbnails/9.jpg)
Nested Literalsvar myObject = { name: "Kim Young Hoo", goto: "Jail", greet: function() { alert("Hello"); }, friends: ['A', 'B', 'C'], format: { age: 26, width: 1920 }}
![Page 10: Abc](https://reader031.fdocuments.us/reader031/viewer/2022020306/5563a45dd8b42a2b6a8b5172/html5/thumbnails/10.jpg)
GoodmyFunction('rect', 1000, 2000)
myFunction({ type: 'rect', width: 1920, height: 1080});throw { name: 'error', message: 'out of bounds'};
![Page 11: Abc](https://reader031.fdocuments.us/reader031/viewer/2022020306/5563a45dd8b42a2b6a8b5172/html5/thumbnails/11.jpg)
Other Languages Can't Do This
Why?
![Page 12: Abc](https://reader031.fdocuments.us/reader031/viewer/2022020306/5563a45dd8b42a2b6a8b5172/html5/thumbnails/12.jpg)
Advancedvar myObject = function() { var age = 0; function setAge(number) { age = number; }; return { name: "No Name", plusTen: function() { setAge(age + 10); }, getAge: function() { return age } };}();
myObject.name = "Young Hoo";myObject.plusTen();alert(myObject.getAge());
![Page 13: Abc](https://reader031.fdocuments.us/reader031/viewer/2022020306/5563a45dd8b42a2b6a8b5172/html5/thumbnails/13.jpg)
What is JSON? 인터넷에서 자료를 주고받을 때 그 자료를 표현하는 방법
자바스크립트 "리터럴 " 을 유니코드로 인코딩하여 전송
받는 곳에선 유니코드를 디코드하여 객체를 복원
![Page 14: Abc](https://reader031.fdocuments.us/reader031/viewer/2022020306/5563a45dd8b42a2b6a8b5172/html5/thumbnails/14.jpg)
Multi Languages
타 언어의 객체도 전송되기 전에 JS 리터럴 형식의 스트링으로 변환하여 사용 가능
Java Object String (JS Literal) C# Object ↔ ↔
![Page 15: Abc](https://reader031.fdocuments.us/reader031/viewer/2022020306/5563a45dd8b42a2b6a8b5172/html5/thumbnails/15.jpg)
Encode/Decode Library
JS, AS, Java, C#, Python, Ruby, Haskell, Erlang, Lisp, C,
C++, Delphi, PHP, Perl, ....
![Page 16: Abc](https://reader031.fdocuments.us/reader031/viewer/2022020306/5563a45dd8b42a2b6a8b5172/html5/thumbnails/16.jpg)
In WatchAll
![Page 17: Abc](https://reader031.fdocuments.us/reader031/viewer/2022020306/5563a45dd8b42a2b6a8b5172/html5/thumbnails/17.jpg)
DBUpdate, DBQuery
DBUpate 나 DBQuery 의 리쿼스트에서 JSON으 로 달라는 요청이 있으면 JSON 객체를 리턴
![Page 18: Abc](https://reader031.fdocuments.us/reader031/viewer/2022020306/5563a45dd8b42a2b6a8b5172/html5/thumbnails/18.jpg)
In Flexfunction resultHandler(event:ResultEvent):void{ var rawData:String = String(event.result); var jObj:Object = JSON.decode(rawData); var dp:ArrayCollection = new ArrayCollection(jObj["DATA"]);
dataGrid.dataProvider = dp;}
![Page 19: Abc](https://reader031.fdocuments.us/reader031/viewer/2022020306/5563a45dd8b42a2b6a8b5172/html5/thumbnails/19.jpg)
빠른 통신속도 , 작은 부하
Object, Array, ArrayCollection 은 XML, XMLList, XMLListCollection 보다 효율적
![Page 20: Abc](https://reader031.fdocuments.us/reader031/viewer/2022020306/5563a45dd8b42a2b6a8b5172/html5/thumbnails/20.jpg)
XML 을 조작하는거 보다 객체를 조 작하는게 용이
JS 나 AS 스타일을 더 잘 살릴 수 있음
![Page 21: Abc](https://reader031.fdocuments.us/reader031/viewer/2022020306/5563a45dd8b42a2b6a8b5172/html5/thumbnails/21.jpg)
It's Proven Solution
대부분의 Web 2.0 사이트에서JSON 을 데이터 통신에 사용 XML
보다 압도적으로 많음