Forum Użytkownicy Oprogramowania Humansoft Strona Główna Użytkownicy Oprogramowania Humansoft
Nieoficjalne forum użytkowników oprogramowania firmy Humansoft (Hermes SQL, Corax)
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy   GalerieGalerie   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Obsługa JSON

 
Napisz nowy temat   Odpowiedz do tematu    Forum Użytkownicy Oprogramowania Humansoft Strona Główna -> Biblioteki
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Thorvaldsen
Administrator



Dołączył: 06 Lip 2015
Posty: 71
Przeczytał: 0 tematów

Pomógł: 1 raz
Ostrzeżeń: 0/5

PostWysłany: Pon 13:48, 13 Lip 2015    Temat postu: Obsługa JSON

Bardzo przydatna rzecz, zwłaszcza, jeżeli chcemy komunikować się z poziomu Hermesa z usługami zewnętrznymi.

Jakiś czas temu znalazłem małą bibliotekę napisaną w FoxPro która pozawala kodować obiekty do ciągu JSON, a także dekodować ciągi na obiekty. Sprawdzona, przetestowana, działa poprawnie.

[link widoczny dla zalogowanych], a tutaj [link widoczny dla zalogowanych].

Bibliotekę zapisujemy w jakiejś lokalizacji, a następnie kompilujemy ją instrukcją:
Kod:
COMPILE 'C:\SCIEZKA_DO\Pliku\Biblioteki\json.prg'


Osobiście kompilowanie różnych zewnętrznych rozszerzeń, bibliotek mam zapisane w funkcjach prywatnych (Admin -> Funkcje Prywatne).

Aby uzyskać dostęp do funkcji zawartych w rozszerzeniu trzeba wywołać komendę DO, uprzednio dodając do listy przeszukiwanych ścieżek folder w którym skompliowaliśmy rozszerzenie:
np. w moim przypadku:

Kod:

SET PATH TO 'Z:\Biblioteki\Json\' ADDITIVE
DO json


w tym momencie możemy korzystać z dwóch funkcji

  • json_encode - do konwertowania zmiennej na ciąg json (działa dla tablic jak i obiektów)
  • json_decode - który konwertuje ciąg na specjalny obiekt JSON


Specjalny obiekt json udostępnia metodę Get której parametrem jest zmienna którą chcemy odczytać.

Np. z następującego ciągu Json:
Kod:
{"number": 123, "string": "Hello World"}

możemy odczytać wartości następująco:
Kod:

LOCAL myobj
myobj = json_decode('{"number": 123, "string": "Hello World"}')
ALERT(myobj.Get('number'))
ALERT(myobj.Get('string'))


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum Użytkownicy Oprogramowania Humansoft Strona Główna -> Biblioteki Wszystkie czasy w strefie EET (Europa)
Strona 1 z 1

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach

fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
Regulamin