ďťż
 
Sprawdzenie czy poprawny JSON ďťż
 
Sprawdzenie czy poprawny JSON
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

Sprawdzenie czy poprawny JSON



Daniel Stalica - 11-10-2007 00:01
Sprawdzenie czy poprawny JSON
  Witam, potrzebuję rozwiązania problemu sprawdzania za pomocą JS czy dany
string jest poprawnym JSON'em

Jak to zrobić najlepiej?

--
Blog: http://blog.stalica.info





Daniel Stalica - 11-10-2007 00:01

  Daniel Stalica pisze:
> Witam, potrzebuję rozwiązania problemu sprawdzania za pomocą JS czy dany
> string jest poprawnym JSON'em
>
> Jak to zrobić najlepiej?
>

Jedyne na co wpadłem to przechwycenie wyjątku (try, catch) w czasie
użycia eval() na JSON, jakieś inne pomysły?

--
Blog: http://blog.stalica.info




William - 11-10-2007 00:01

  > > Witam, potrzebuję rozwiązania problemu sprawdzania za pomocą JS czy dany

> > string jest poprawnym JSON'em
> >
> > Jak to zrobić najlepiej?
> >

Najlepsze byłoby napisanie drugiego interpretera javascriptu w javascripcie.

> Jedyne na co wpadłem to przechwycenie wyjątku (try, catch) w czasie
> użycia eval() na JSON, jakieś inne pomysły?
>

Zawsze ten kod może np. uszkodzić twój kod. Może napisz jaki jest cel tego testu, tzn. jakie mogą być okoliczności w których z (domyślam się) odpowiedzi zapytania http otrzymujesz coś co jak podejrzewać jest przekłamane. Może jakieś sumy kontrolne ?




Daniel Stalica - 11-10-2007 00:01

  William pisze:
>
> Najlepsze byłoby napisanie drugiego interpretera javascriptu w javascripcie.
>

Tez o tym myślałem, tyle że za dużo roboty z tym...

>
> Zawsze ten kod może np. uszkodzić twój kod. Może napisz jaki jest cel tego testu, tzn. jakie mogą być okoliczności w których z (domyślam się) odpowiedzi zapytania http otrzymujesz coś co jak podejrzewać jest przekłamane. Może jakieś sumy kontrolne ?

Tak, chodzi o odpowiedź po http, mało istotne jest to co to są za dane,
zabezpieczenie hashem jest zbędne, istotne jest to czy nie wywali mi
skryptu gdy potraktuje otrzymany kod eval()'em, bo obawiam się, że
czasami coś po drodze ginie między serwerem a klientem i w tym przypadku
dane pobieram ponownie.

Przechwycenie wyjątku działa... ale nie jestem zwolennikiem tego
rozwiązania, a może mylnie...

--
Blog: http://blog.stalica.info





Piotr Szturmaj - 11-10-2007 00:07

  >> > Witam, potrzebuję rozwiązania problemu sprawdzania za pomocą JS czy
>> > dany
>> > string jest poprawnym JSON'em
>> >
>> > Jak to zrobić najlepiej?
>> >
>
> Najlepsze byłoby napisanie drugiego interpretera javascriptu w
> javascripcie.

Wystarczyłby własny dekoder JSON'a :-) lub wspomniane try..catch + eval




William - 12-10-2007 00:02

  > skryptu gdy potraktuje otrzymany kod eval()'em, bo obawiam się, że

> czasami coś po drodze ginie między serwerem a klientem i w tym przypadku
> dane pobieram ponownie.

Zasadniczo jest to bardzo mało prawdopodobne... Najprościej jest imho przejsć na https i on załatwia za ciebie problem integralnosci danych.



Daniel Stalica - 12-10-2007 00:02

  William pisze:
>> skryptu gdy potraktuje otrzymany kod eval()'em, bo obawiam się, że
>> czasami coś po drodze ginie między serwerem a klientem i w tym przypadku
>> dane pobieram ponownie.
>
> Zasadniczo jest to bardzo mało prawdopodobne... Najprościej jest imho przejsć na https i on załatwia za ciebie problem integralnosci danych.

Łączę się po https, chcesz powiedzieć, że wtedy nie ma możliwości, żeby
jakiś mały pakiecik gdzieś zaginął podczas łączenia sie z użytkownikiem
który gubi np 10% wysłanych pakietów? ja tylko teoretyzuje, bo nie
robiłem tego typu testów, a mam powód do szukania dziury...

--
Blog: http://blog.stalica.info




=?iso-8859-2?B?TWFjaWVqIKNlYmtvd3NraQ==?= - 12-10-2007 00:02

  Dnia 11-10-2007 o 09:30:21 Daniel Stalica <daniel@stalica.info> napisał(a):

>> Zasadniczo jest to bardzo mało prawdopodobne... Najprościej jest imho przejsć na https i on załatwia za ciebie problem integralnosci danych.
> Łączę się po https, chcesz powiedzieć, że wtedy nie ma możliwości, żeby
> jakiś mały pakiecik gdzieś zaginął podczas łączenia sie z użytkownikiem
> który gubi np 10% wysłanych pakietów? ja tylko teoretyzuje, bo nie
> robiłem tego typu testów, a mam powód do szukania dziury...

Sugerujesz, że użytkownik łącza, które traci 10% pakietów, dostaje
jedynie 90% strony? :-) To nie tak działa! Te stracone pakiety są
przesyłane ponownie. Nie ma opcji, żebyś dostał niekompletny
dokument, jeśli chodzi o jego zawartość. Tzn na pewno nie z winy
sieci. Albo dostaniesz cały, 100%, niezmodyfikowany, albo wcale
(jakiś timeout sie zdarzy, etc).
No, możesz też nie doczekać się*"onreadystate==4", wtedy rzecz jasna
możesz mieć w buforze jedynie jakąś część dokumentu.

--
Używam klienta poczty Opera Hugin: http://www.opera.com/mail/




William - 12-10-2007 00:02

  > Łączę się po https, chcesz powiedzieć, że wtedy nie ma możliwości, żeby

> jakiś mały pakiecik gdzieś zaginął podczas łączenia sie z użytkownikiem
> który gubi np 10% wysłanych pakietów? ja tylko teoretyzuje, bo nie
> robiłem tego typu testów, a mam powód do szukania dziury...

Sam protokół tcp (a na nim jest oparte http) zapewnia ciągłość transmisji (że dostaniesz wszystko to co wysłano lub sygnał niepowodzenia). Sumy kontrolne na poziomie IP, ramki etherentowej, ADLS itd nie pozwalają na przekłamania przypadkowe. Https zabezpieczy cie również przez przkłamaniami celowymi (atak).



Daniel Stalica - 12-10-2007 00:02

  Maciej Łebkowski pisze:
> Dnia 11-10-2007 o 09:30:21 Daniel Stalica <daniel@stalica.info> napisał(a):
>
> Sugerujesz, że użytkownik łącza, które traci 10% pakietów, dostaje
> jedynie 90% strony? :-) To nie tak działa! Te stracone pakiety są
> przesyłane ponownie. Nie ma opcji, żebyś dostał niekompletny
> dokument, jeśli chodzi o jego zawartość. Tzn na pewno nie z winy
> sieci. Albo dostaniesz cały, 100%, niezmodyfikowany, albo wcale
> (jakiś timeout sie zdarzy, etc).
> No, możesz też nie doczekać się "onreadystate==4", wtedy rzecz jasna
> możesz mieć w buforze jedynie jakąś część dokumentu.
>

Jeszcze nie dawno temu w Hiszpani korzystałem z internetu i w niektórych
porach traciły sie dane po drodze (nie ładowało się wszystko na stronie,
to .css nie było to .jpg, to .js), ale rozumiem, ze w tym wypadku albo
nie ma nic (i jest timeout?), albo dochodzi całość?

--
Blog: http://blog.stalica.info




Daniel Stalica - 12-10-2007 00:02

  William pisze:
>
> Sam protokół tcp (a na nim jest oparte http) zapewnia ciągłość transmisji (że dostaniesz wszystko to co wysłano lub sygnał niepowodzenia). Sumy kontrolne na poziomie IP, ramki etherentowej, ADLS itd nie pozwalają na przekłamania przypadkowe. Https zabezpieczy cie również przez przkłamaniami celowymi (atak).

Dzięki za info. To mi wystarczy, czyli problem mam gdzie indziej...

--
Blog: http://blog.stalica.info




=?iso-8859-2?B?TWFjaWVqIKNlYmtvd3NraQ==?= - 12-10-2007 00:02

  Dnia 11-10-2007 o 11:40:13 Daniel Stalica <daniel@stalica.info> napisał(a):

> Jeszcze nie dawno temu w Hiszpani korzystałem z internetu i w niektórych
> porach traciły sie dane po drodze (nie ładowało się wszystko na stronie,
> to .css nie było to .jpg, to .js), ale rozumiem, ze w tym wypadku albo
> nie ma nic (i jest timeout?), albo dochodzi całość?

To różne pliki (.css, .js, etc), więc różne połączenia.

--
Używam klienta poczty Opera Hugin: http://www.opera.com/mail/
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    =?iso-8859-2?q?[oracle]_Jak_sprawdzi=E6_wielko=B6=E6_tabeli_=3F=3F?= =?ISO-8859-2?Q?[Oralce]_Jak_sprawdzi=E6_d?= =?ISO-8859-2?Q?ok=B3adn=B1_wersj=EA_binari=F3w=3F?= (OT) do oceny - =?ISO-8859-2?Q?poprawno=B6=E6_graficzna_i_?==?ISO-8859-2?Q?plityczna=3A=29?= =?iso-8859-2?q?[ms_sql]_Sprawdzenie_kto_usun=B1=B3_dane_w_tabeli_=3F?= =?ISO-8859-2?Q?Jak_sprawdzi=E6_czy_obiekt_zosta=B3_utowrzony= 3F?= [sybase] Jak w sprawdzić strukturę obiektu (tabeli) w Interactive SQL ??? Jak sprawdzić wystepowanie podciągu w kolumnie (SQL Server 2005) =?ISO-8859-2?Q?zapytanie_w_sql,_pro=B6ba_o_sprawdzenie?= [FIREBIRD] procedura, jaak sprawdzic czy zaapytanie zwrocilo pustywynik Jak sprawdzić kodowanie znaków bazy MS SQL ?
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • marcelq.xlx.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com