What is JSON? 2017.04.14 유호성.

Slides:



Advertisements
Similar presentations
영화 “13 일의 금요일 ” 주인공 제이슨 (Jason)
Advertisements

프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는.
Big Data & Hadoop. 1. Data Type by Sectors Expected Value using Big Data.
JSON (JavaScript Object Notation) 인공지능 연구실. Artificial Intelligence Laboratory JSON 소개  JSON( 제이슨, JavaScript Object Notation) 은, 인터넷에 서 자료를 주고받을 때 그.
2016 유성환 Hybrid MOBILE.
Format String Attack! 포맷 스트링 공격 경일대학교 사이버보안학과 학년 남주호.
제 12 장 표현 언어 학기 인터넷비즈니스과 강 환수 교수.
DB 프로그래밍 학기.
DB 프로그래밍 학기.
Ⅰ. 클라이언트 스크립트 Ⅱ. 서버 스크립트 그렇다면 프로그래밍 언어를 수행하는 컴퓨터의 개념적인 구조를 살펴 본다면, 프로그래밍 언어가 무엇인지 이해하는데 도움이 될 것입니다. 현재 컴퓨터 구조의 모태가 되고 있는 폰 노이만 구조는 그림에서 보는 것과 같이, 명령어와.
AJAX 기본중의 기본 xmlhttprequest
인공지능실험실 석사 2학기 이희재 TCP/IP Socket Programming… 제 11장 프로세스간 통신 인공지능실험실 석사 2학기 이희재
최윤정 Java 프로그래밍 클래스 상속 최윤정
Ch.07-5 xml-rpc 사용하기 김상엽.
웹 서버 동작 HTTP 클라이언트가 서버와 대화하는 방법과 데이터를 서버에서 클라이언트로 전송 하는 방법을 정의한 프로토콜
Lesson 5. 레퍼런스 데이터형.
제 6장. 생성자와 소멸자 학기 프로그래밍언어및실습 (C++).
Lesson 6. 형변환.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
Javascript Basic Sample Programs
Tail-recursive Function, High-order Function
컴퓨터 프로그래밍 : 실습3 2장 데이터와 식.
공학컴퓨터프로그래밍 Python 염익준 교수.
11장. 1차원 배열.
10장 컴퓨터 기반 데이터 획득 응용 프로그램 LabVIEW 사용법
C#.
10강. JSP 본격적으로 살펴보기-II 스크립트릿, 선언, 표현식 지시자 주석 Lecturer Kim Myoung-Ho
C 프로그래밍 C언어 (CSE2035) (Chap11. Derived types-enumerated, structure, and union) (1-1) Sungwook Kim Sogang University Seoul, Korea Tel:
JA A V W. 03.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
자바 5.0 프로그래밍.
프로그래밍 개요
5. Context-free 문법 5-1. 서 론 5-2. 유도와 유도 트리 5-3. CFG표기법.
인터넷응용프로그래밍 JavaScript(Intro).
박성진 컴퓨터 프로그래밍 기초 [09] 배열 part 1 박성진
Java의 정석 제 5 장 배 열 Java 정석 남궁성 강의 의
유승석 FILE I/O File Input/Output 유승석 SD50 – C# & .NET Platform.
HTML 5+ 자바스크립트 발표자 : 김동한 5주차.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
프로그래밍 원리 Chapter 05 자바스크립트 기초 신한대학교 IT융합공학부 박 호 균.
에어 조건문.
인터넷응용프로그래밍 JavaScript(Intro).
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
웹디자인
8주차: Strings, Arrays and Pointers
17장. 제어문과 내장 함수 제어문 내장 함수 제어문 내장 함수.
텍스트 분석 기초.
14강. 세션 세션이란? 세션 문법 Lecturer Kim Myoung-Ho Nickname 블스
CHAP 21. 전화, SMS, 주소록.
PHP 웹 프로그래밍 (PHP Web Programming) 미리 정의된 함수 문양세 강원대학교 IT대학 컴퓨터과학전공.
Web Storage 인공지능 연구실.
암호학 응용 Applied cryptography
에어 PHP 입문.
암호학 응용 Applied cryptography
Homework #12 (1/2) 프로그램을 작성하고, 프로그램과 실행 결과를 프린트하여 제출한다.
제 8장. 클래스의 활용 학기 프로그래밍언어및실습 (C++).
Chapter 5: PHP Functions and Objects
세션에 대해 알아보고 HttpSession 에 대해 이해한다 세션 관리에 사용되는 요소들을 살펴본다
11장 배열 1. 배열이란? 1.1 배열의 개요 1.2 배열의 선언과 사용.
16장. 변수, 연산자, 사용자 정의 함수 변수 배열과 객체 연산자 함수.
9 브라우저 객체 모델.
Numerical Analysis Programming using NRs
트위치 트게더 Twitogether 김준희.
7 생성자 함수.
6 객체.
Ⅰ. Response 개체 그렇다면 프로그래밍 언어를 수행하는 컴퓨터의 개념적인 구조를 살펴 본다면, 프로그래밍 언어가 무엇인지 이해하는데 도움이 될 것입니다. 현재 컴퓨터 구조의 모태가 되고 있는 폰 노이만 구조는 그림에서 보는 것과 같이, 명령어와 데이터를 저장하는.
20 XMLHttpRequest.
Presentation transcript:

What is JSON? 2017.04.14 유호성

JSON? What is JSON? Why is JSON? JSON Syntax JSON Parse JSON Stringify Use JSON in QT&QML

JSON( Javascript Object Notation )? 주로 사용되는 방법( 자바스크립트 표준 객체표기법 )이지만 대부분의 언어에서 사용 가능하고, 컴퓨터 프로그램의 변수 값을 표현하는데 적합하다. 2. What is JSON JSON은 간단한 데이터 교환 형식으로 데이터 저장 및 교환을 위한 구문이다. 자바스크립트 객체 표기법으로 작성된 텍스트이다. JSON은 텍스트이기 때문에 이해하기 쉽다. JSON은 텍스트이기 때문에 모든 언어에서 사용할 수 있다. 문자열을 사용하므로 overhead 거의 없다. 최신 브라우저는 대부분 JSON 파서를 내장하므로 사용하기 편하다. JSON 파서가 없을 경우 자바스크립트 문법을 사용했으므로 eval 명령으로 사용 가능

3. Why is JSON? JSON 형식은 텍스트 형식이므로 서버와 주고받을 수 있으며 모든 프로그래밍 언어에서 데이터 형식으로 사용된다. XML의 대안으로 XML보다 사용하기 쉽다 JSON을 사용하면 JavaScript 객체를 텍스트로 저장할 수 있다. JavaScript에는 JSON 형식으로 작성된 문자열을 JavaScript 객체로 변환하는 내장 함수가 있다. JSON.parse( JSON_DATA_TEXT ) 서버에서 JSON 형식( string )으로 데이터를 받을 경우 JSON.parse() 함수를 이용해서 JavaScript 객체처럼 사용할 수 있다. JavaScript에는 JSON을 string으로 변환하는 내장 함수가 있다. JSON.stringify() JavaScript 객체에 저장된 데이터가 있으면 객체를 JSON( 텍스트 )으로 변환하여 서버로 보낼 수 있다 브라우저와 서버간에 데이터를 교환 할 때 데이터는 텍스트 일뿐입니다 JSON은 텍스트이며 모든 JavaScript 객체를 JSON으로 변환하고 JSON을 서버로 보낼 수 있습니다 서버에서받은 JSON을 JavaScript 객체로 변환 할 수 있습니다. 복잡한 파싱 및 번역 작업없이 데이터를 JavaScript 객체로 처리 할 수 있습니다.

4. JSON Syntax JSON 문법은 JavaScript의 subset 이며 JavaScript object notation syntax에서 파생되었다. JSON Syntax Rules Data는 name(key)/value 쌍으로 이루어져있다. Data는 comma(,)로 구분한다. Object는 중괄호( {,} )을 사용하여 시작/끝을 표시한다. 배열은 대괄호( [,] )를 사용하여 시작/끝을 표시한다. JSON Data ( Name and Value ) Ex) “name”:”유호성” JSON의 name(key)은 항상 string 이기 때문에 JavaScript와 다르게 “,”가 필요하다. JSON의 value는 string/number/an object(JSON object)/array/Boolean/null을 사용할 수 있다. Function / date(날짜) / undefined 는 사용할 수 없다. JSON Objects { “employee”:{“name”:”John”, “age”:30, “city”:”New York”}} JSON Arrays {“Names”:[“John”, “Anna”, “Peter”]} JSON File JSON 파일 포맷은 “.json” 이다. MIME type은 “application/json” 이다.

4. JSON Syntax JSON Object

4. JSON Syntax JSON Object

4. JSON Syntax JSON Object

4. JSON Syntax JSON Array [“Ford”, “BMW”, “Fiat”] 배열을 객체의 property가 될 수 있다.

4. JSON Syntax JSON Array

5. JSON Parse JSON From the Server Exceptions Date(날짜) 객체는 JSON에서 사용할 수 없음, 날짜를 포함할 경우 string 으로 변환하여 사용

5. JSON Parse Exceptions Date(날짜) 객체는 JSON에서 사용할 수 없음, 날짜를 포함할 경우 string 으로 변환하여 사용 or

5. JSON Parse Exceptions Function은 JSON에서 사용할 수 없음, Function은 범위를 잃어 버림 다시 함수로 변환하려면 eval()을 사용해야 함

6. JSON Stringify Server로 데이터를 보낼 때는 문자열로 보낸다. JSON.stringify() 는 JavaScript 내장 함수로 JavaScript 객체를 문자열로 변환한다.

7. Use JSON in QT & QML QT에서 사용할 수 잇는 JSON 객체는 QJsonDocument / QJsonObject / QJsonArray 객체가 있다. QML에서는 QML 기반으로 만든 JSONListModel 이라는 Util을 사용 할 수 있다. https://wiki.qt.io/JSONListModel

7. Use JSON in QT & QML QML JSON 사용 예제 소스 import QtQuick 2.0 import QtQuick.Controls 1.2 Item { width: 300 height: 400 ListModel { id: model } ListView { id: listview anchors.fill: parent model: model delegate: Text { text: listdata function getData() { var xmlhttp = new XMLHttpRequest(); var url = "http://www.w3schools.com/website/Customers_MYSQL.php"; xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState == XMLHttpRequest.DONE && xmlhttp.status == 200) { myFunction(xmlhttp.responseText); xmlhttp.open("GET", url, true); xmlhttp.send(); function myFunction(response) { var arr = JSON.parse(response); for(var i = 0; i < arr.length; i++) { listview.model.append( {listdata: arr[i].Name +" "+ arr[i].City +" "+ arr[i].Country }) } Button { anchors.bottom: parent.bottom width: parent.width text: "Get Data" onClicked: getData()