Przetwarzanie dokumentów XML i zaawansowane techniki WWW Obiektowy język JavaScript oraz format JSON (Zajęcia r.)

Podobne dokumenty
ZAAWANSOWANE TECHNIKI WWW (zajęcia r.)

XML extensible Markup Language. część 5

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

Podstawy JavaScript ćwiczenia

Krótki kurs JavaScript

Tworzenie Stron Internetowych. odcinek 10

TECHNOLOGIE INTERNETOWE WYKŁAD 6. JavaScript Funkcje i obiekty

Techniki WWW. (HTML, CSS, JavaScript) Dr inż. Marcin Zieliński WYKŁAD 7. Środa 15:30-17:00 sala: A-1-04

Wykład 03 JavaScript. Michał Drabik

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

Zdarzenia Zdarzenia onload i onunload

XML extensible Markup Language. część 5

CZYM JEST JAVASCRIPT?

Test przykładowy 2 PAI WSB Wrocław /06/2018

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

Zajęcia 4 - Wprowadzenie do Javascript

Techniki WWW. (HTML, CSS, JavaScript) Dr inż. Marcin Zieliński WYKŁAD 6. Środa 15:30-17:00 sala: A-1-04

Rys.2.1. Trzy warstwy stanowiące podstawę popularnego podejścia w zakresie budowy stron internetowych [2]

Funkcje i instrukcje języka JavaScript

PHP: bloki kodu, tablice, obiekty i formularze

WYKŁAD 3 XML DOM XML DOCUMENT OBJECT MODEL CZĘŚĆ 1

JavaScript. Wstęp do podstaw elementów. dr inż. Paweł Boiński, Politechnika Poznańska

Zaawansowane aplikacje internetowe

JavaScript funkcyjność

Smarty PHP. Leksykon kieszonkowy

JavaScript. mgr inż. Remigiusz Pokrzywiński

JAVAScript w dokumentach HTML (2)

Dokumentacja imapliteapi

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

1. Wprowadzenie do języka PHP

Rys.2.1. Drzewo modelu DOM [1]

Programowanie obiektowe

Programowanie Multimediów. Programowanie Multimediów JAVA. wprowadzenie do programowania (3/3) [1]

JS:Obiekty, tablice, JSON

Systemy internetowe. Wykład 3 PHP. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Wykład 2 Składnia języka C# (cz. 1)

JAVAScript w dokumentach HTML - przypomnienie

Cw.12 JAVAScript w dokumentach HTML

Języki skryptowe w programie Plans

Aplikacje internetowe

Serwer WWW Apache. Plik konfiguracyjny httpd.conf Definiujemy m.in.: Aktualne wersje 2.4.6, , zakończony projekt

O stronach www, html itp..

Oczywiście plik musi mieć rozszerzenie *.php

JQuery. $('#pierwszy').css('color','red').hide('slow').show(3000); $(document).ready(function() { //... tutaj nasze skrypty jquery //...

PROGRAMOWANIE W ŚRODOWISKU FLASH wykład 2

do drukowania tekstu służy funkcja echo <?php echo "hello world!";?> jeżeli użyjemy jej kilka razy: <?php

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

HTML (HyperText Markup Language) hipertekstowy język znaczników

Czym jest AJAX. AJAX wprowadzenie. Obiekt XMLHttpRequest (XHR) Niezbędne narzędzia. Standardowy XHR. XHR z obsługą baz danych

Personal Home Page PHP: Hypertext Preprocessor

Bazy Danych i Usługi Sieciowe

WYKŁAD 4 JĘZYK JAVASCRIPT CZĘŚĆ 1

Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

Tworzenie Stron Internetowych. odcinek 9

5-6. Struktura dokumentu html. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

Ogólny schemat prostego formularza: A może lepiej zamiast przycisku opartego o input tak:

Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty)

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice.

Programowanie obiektowe

DTD - encje ogólne i parametryczne, przestrzenie nazw

HTML, CSS i JavaScript / Laura Lemay, Rafe Colburn, Jennifer Kyrnin. Gliwice, cop Spis treści

Java Podstawy. Michał Bereta

Programowanie Obiektowe i C++

JAVAScript w dokumentach HTML (1)

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

JAVAScript tablice, przekazanie danych do funkcji, obiekty Date i window

prowadzący dr ADRIAN HORZYK /~horzyk Konsultacje paw. D-13/325D

Kurs PHP. Literatura. Zagadnienia: Wprowadzenie

Co to jest NODE.JS? Nowoczesne środowisko programistyczne

Specyfikacja API 1.0. Specyfikacja kontroli Konta systemu CashBill z wykorzystaniem API opartego na REST

Programowanie i struktury danych

Wybrane działy Informatyki Stosowanej

Przykładowy dokument XML

Spis treści. Wstęp 5 Rozdział 1. Praca z AJAX-em 9. Rozdział 2. Współpraca ze skryptami PHP 55. Rozdział 3. Obsługa formularzy 81

Scenariusz Web Design DHTML na 10 sesji. - Strony statyczne I dynamiczne. - Dodawanie kodu VBScript do strony HTML. Rysunek nie jest potrzebny

Tworzenie Stron Internetowych. odcinek 5

Podstawy programowania. Wykład PASCAL. Zmienne wskaźnikowe i dynamiczne. dr Artur Bartoszewski - Podstawy prograowania, sem.

Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Programowanie obiektowe

Programowanie gier 3D w HTML5. Andrzej P.Urbański Politechnika Poznańska

Sieciowe Technologie Mobilne. Laboratorium 2

JAVASCRIPT PODSTAWY. opracowanie: by Arkadiusz Gawełek, Łódź

JavaScript - korzenie

Ilość cyfr liczby naturalnej

Systemy internetowe Wykład 3 PHP

Obiekt navigator. Dodał Administrator wtorek, 16 marzec :32

Tworzenie aplikacji w języku Java

int tab[5]; tab[1]; ciągły obszar pamięci, w którym umieszczone są elementy tego samego typu macierz [ ] - dwuargumentowy operator indeksowania

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

Platformy Programistyczne Podstawy języka Java

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Zdarzenia w JavaScript (Zajęcia r.)

Poprawność formularza

SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania. Wykład 2. dr Artur Bartoszewski - WYKŁAD: Języki i Systemy Programowania,

Szablon główny (plik guestbook.php) będzie miał postać:

Transkrypt:

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Obiektowy język JavaScript oraz format JSON (Zajęcia 07 18.04.2016 r.) 1) Wprowadzenie do formatu JSON JSON czyli z ang. JavaScript Object Notation (Notacja Obiektowa JavaScriptu), to tekstowy format wymiany danych podobny funkcjonalnie do XML a, oparty na literałach obiektowych JavaScriptu. Definicyjnie JSON należy on do samego JavaScriptu i w zasadzie jest jego podzbiorem, ale ze względu na tekstowy charakter jest uniwersalny, przenaszalny i niezależny oraz może zostac wykorzystany w każdym języku programowania. Format tekstowy (podobnie zresztą jak XML a) zapewnia czytelność nie tylko dla parserów, ale również dla ludzi. Implemantacja i i użycie JSONa w większości języków jest ułatwiona przez zastosowanie gotowych bibliotek parujących. JSON posiada sześć rodzajów wartości: 1. obiekty, 2. tablice, 3. łańcuchy, 4. liczby, 5. wartości logiczne (TRUE FALSE), 6. wartość NULL. Białe znaki takie jak tabulacje, spacje, przejścia do nowej linii mogą być umieszczne w przed lub po każdej wartości w JSON dla zachowania przejrzystości i łatwiejszego czytania i analizy plików. Natomiast podobnie jak w XML u znaki te mogą zostać pominięte dla zmniejszenia kosztów przesyłania danych. Typowy obiekt w formacie JSON jest nieuporządkowanym zbiorem par klucz : wartość, gdzie klucz jest dowolnym łańcuchem tekstowym, natomiast wartość musi być jednym z dozwolonych typów wymienionych powyżej. Obiekty JSON można zagnieżdzać w dowolnym stopniu jednak z reguły dla zachowania przejrzystości stosowana jest zasada im bardziej płaska struktura tym lepiej. Jednak nie w każdym przypadku i dla wszystkich zastosowań jest to możliwe do utrzymania. Format zapisu obiektu w formacie JSON jest anstępujący: klucz JSON : wartość JSON Natomiast tablica w formacie JSON jest uporządkowanym ciągiem wartości które znów mogą byc dowolnego typu włącznie z obiektami i tablicami. Format zapisu tablic w JSON jest następujący: [ wartosc1, wartosc2,, wartoscn ] Łańcuchy w JSON są ogranicozne znakami podwójnego cudzysłowu łańcuch, z zachownaiem znaku specjalnego ukośnika \ dzięku któremu możemy zapisywań inne znaki specjalne. Natomiast liczby w JSON zapisywane są w formacie JavaScvriptu, z zastrzeżeniem że w liczbach całkowitych nie można na początku podawać zera poniewąż wtedy może ona zostać potraktowana jako zapis liczby w formacie ósemkowym. Pierwszy przykład zapisu danych w formacie JSON:

first : Jan, last : Kowalski. born : 1980, address : ul. Reymonta 4 W formacie XML dane te wyglądały by następująco: <?xml version='1.0' encoding='utf 8'?> <person> <first>jan</first> <last>kowalski</last> <born>1980</born> <address>ul. Reymonta 4</address> </person> Do analizy struktury danych zapisanych w formacie JSON można uzyć przegląderek online np: http://json.parser.online.fr/ Inny przykład teraz z tablicą obiektów: samochod : [ Marka : VW, Model : Golf, Rocznik : 1999, Marka : BMW, Model : S6, Rocznik : 2007, Marka : Audi, Model : A4, Rocznik : 2009 ] Te same dane w formacie XML: <?xml version="1.0" encoding="utf 8"?> <KOMIS> <Samochod> <Marka>VW</Marka> <Model>Golf</Model> <Rok>1999</Rok> </Samochod> <Samochod> <Marka>BMW</Marka> <Model>S6</Model> <Rok>2007</Rok> </Samochod> <Samochod>

<Marka>Audi</Marka> <Model>A3</Model> <Rok>2009</Rok> </Samochod> </KOMIS> Kolejny przykład: "id": 10, "tytul": "Podstawy fizyki wysokich energii", "autors": [ "D. Perkins", "J.A. Zakrzewski" ], "roczniki": [ 1967, 1984, 1985, 1989, 2005 ], "wypozyczony": true ZADANIE: Proszę przygotować plik JS zawierający dowolne dane (np. te same które użyli Państwo do przygotowania pierwszego swojego XMLa). Dane docelowo można zapisać w pliku o rozszerzeniu.js 2) Podstawowe informacje o języku JavaScript Aby użyć w dokumencie hipertekstowym skryptu napisanego w języku Javascript należy kod tego skryptu osadzić wewnątrz dokumentu HTML lub dołączyć go w postaci zewnętrznej biblioteki: a.) Osadzanie skryptu wewnątrz dokumentu hipertekstowego: <!DOCTYPE html> <html> <head> <title>testowanie JS</title> <script type="text/javascript"> <! // tu bedzie pierwszy scrypt napisany w JS alert("hello World"); document.write("<h3>to jest tekst wygenerowany w js przed zdarzeniem onload();</h3><hr/>"); // > </script> <noscript> <center style="color:red;">!!!! Twoja przeglądarka nie obsługuje lub ma wyłączony JS!!!!</center> </noscript> </head> <body> <h2>test JavaScriptu</h2> Akcja wywołana przed zdarzeniem OnLoad(); w momencie ładowania strony <hr/> </body> </html>

b.) Dołączenie skryptu w postaci zewnętrznej biblioteki w pliku external.js : <!DOCTYPE html> <html> <head> <title>testowanie JS</title> <script type="text/javascript" src="external.js"></script> <noscript> <center style="color:red;">!!!! Twoja przeglądarka nie obsługuje lub ma wyłączony JS!!!!</center> </noscript> </head> <body> </body> </html> 2) Zmienne i operacje artmetyczne: W języku JS nie ma statycznej kontroli typu zmiennej dlatego zmienne deklarujemu za pomocą słowa kluczowego var, a typ określamy w momencie przypisania wartości zmiennej: <script type="text/javascript"> <! var x; x = 5; alert(x*x); x = "ddd"; alert(x); x = null; alert(x); var imie = "Jan"; var nazwisko = "Kowalski"; alert(imie+" "+nazwisko); document.write("<h1>"+imie+" "+nazwisko+"</h1>"); document.write(typeof(imie)); var a; document.write(typeof(a)); // > </script> Dyrektywa document.write() pozwala na pisanie dowolnego tekstu do części body dokumentu hipertekstowego. metoda alert() pozwala na wypisanie informacji na ekran w postaci wyskakującego okna komunikatu. metoda pozwala typeof() na sprawdzenie typu zmiennej. Parsowanie zmiennych pozwala np. na zmiane typu zmiennej z String na Integer, lub z String na Float, służą do tego dwie metody parseint() oraz parsefloat() :

<script type="text/javascript"> <! var x = "1"; var y = "4"; x = parseint(x); y = parseint(y); document.write("parseint "+(x+y)); x = "1.5"; y = "4.2"; x = parsefloat(x); y = parsefloat(y); document.write("parsefloat "+(x+y)); // > </script> 3) Tablice numerowane indeksem naturalnym: var tab1 = new Array(); // tablica bez deklaracji var tab2 = new Array(5); // 5 elementow tablica bez deklaracji wartosci elementow var tab3 = new Array(1,2,3,4,5); // tablice nie maja ograniczenie na typ a wiec mozna: var tab4 = new Array(2001, "Marcin", "Zielinski", 30, 5.0); 4) Pętle wyliczeniowe: // petla for for(n=0; n<5; n++) document.write(n); //petla for in wybieranie z tablicy var tablica; tablica = new Array("a","b","c","d","e"); for (n in tablica) document.write(n); document.write(tablica[n]+"<br/>"); 5) Tablice asocjacyjne: // Tablice asocjacyjne przypisanie wartości do nieistniejącej właściwości obiektu // nie skończy się błędem ale zostanie utworzona nowa właściwość obiektu i przypisana // zostanie do niej wartość. var tab5 = new Object();

tab5["ala"] = "kot"; tab5["pi"] = 3.1415; document.write(tab5["ala"] + "<br>" + tab5["pi"]); // Tablice asocjacyjne kolejny przyklad var tablica = new Object(); tablica["ala"] = "kot"; tablica["pi"] = 3.1415; for (var klucz in tablica) document.write(klucz + ": " + tablica[klucz] + "<br>"); 6) Funkcje i metody: // definiowanie funkcji function Wypisz(imie) document.write("witaj "+imie); Wypisz("Jan"); // funkcja która coś zwraca function Dodaj(a,b) return a+b; document.write(dodaj(5,7)); // konstruktor function Wspolrzedne(x,y) this.x = x; this.y = y; // tworzenie obiektu klasy > operator new var punkt = new Wspolrzedne(2,5); //odwolanie do pol obiektu przez. document.write("x: "+punkt.x+" Y: "+punkt.y); // inny przyklad function NaEkran() document.write("wynik: "+this.a); function Potega(a) this.a = a*a; this.wypisz = NaEkran; var zmp = new Potega(5); zmp.wypisz();