Abc

21
JSON JavaScript Object Notation

Transcript of Abc

Page 1: Abc

JSON

JavaScript Object Notation

Page 2: Abc

Object of JavaScript

Really LightweightList of Key-Value Pair

PrototypeLittle Database

Page 3: Abc

Object Literals

Most Important Feature of JavaScript

Page 4: Abc

What is Literals?

Page 5: Abc

This is Literals

"ABC"5

/^[A-Z]$/

Page 6: Abc

Same Objects

new String("ABC");new Integer(5);

new RegEx("^[A-Z]$");

Page 7: Abc

Object Literalsvar myObject = { name: "Kim Young Hoo", 'goto': 'Jail', grade: 'A', level: 3};

Page 8: Abc

No Literalsvar myObject = new Object();

myObject["name"] = "Kim Young Hoo";myObject["goto"] = "Jail";myObject["grade"] = "A";myObject["level"] = 3;

Page 9: Abc

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

GoodmyFunction('rect', 1000, 2000)

myFunction({ type: 'rect', width: 1920, height: 1080});throw { name: 'error', message: 'out of bounds'};

Page 11: Abc

Other Languages Can't Do This

Why?

Page 12: Abc

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

What is JSON? 인터넷에서 자료를 주고받을 때 그 자료를 표현하는 방법

자바스크립트 "리터럴 " 을 유니코드로 인코딩하여 전송

받는 곳에선 유니코드를 디코드하여 객체를 복원

Page 14: Abc

Multi Languages

타 언어의 객체도 전송되기 전에 JS 리터럴 형식의 스트링으로 변환하여 사용 가능

Java Object String (JS Literal) C# Object ↔ ↔

Page 15: Abc

Encode/Decode Library

JS, AS, Java, C#, Python, Ruby, Haskell, Erlang, Lisp, C,

C++, Delphi, PHP, Perl, ....

Page 16: Abc

In WatchAll

Page 17: Abc

DBUpdate, DBQuery

DBUpate 나 DBQuery 의 리쿼스트에서 JSON으 로 달라는 요청이 있으면 JSON 객체를 리턴

Page 18: Abc

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

빠른 통신속도 , 작은 부하

Object, Array, ArrayCollection 은 XML, XMLList, XMLListCollection 보다 효율적

Page 20: Abc

XML 을 조작하는거 보다 객체를 조 작하는게 용이

JS 나 AS 스타일을 더 잘 살릴 수 있음

Page 21: Abc

It's Proven Solution

대부분의 Web 2.0 사이트에서JSON 을 데이터 통신에 사용 XML

보다 압도적으로 많음