• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

JSON z ceną skinów STEAM

+1 głos
611 wizyt
pytanie zadane 18 maja 2017 w JavaScript przez Harkor Użytkownik (530 p.)
Kombinuje coś z sprawdzaniem ceny skinów na steam:

http://steamcommunity.com/market/priceoverview/?appid=730&currency=3&market_hash_name=StatTrak%E2%84%A2 M4A1-S | Hyper Beast (Minimal Wear)

Wiem że zapytanie zwraca JSON, po problemach z jakimiś zabezpieczeniami natknąłem się na JSONP który umożliwił mi połączenie się tyn adresem za pomocą kodu:

var jsonp = document.createElement('script');
            jsonp.src = "http://steamcommunity.com/market/priceoverview/?appid=730&currency=3&market_hash_name=StatTrak%E2%84%A2 M4A1-S | Hyper Beast (Minimal Wear)";
            document.body.appendChild(jsonp);

Już wyświetla w konsoli że połączenie jest i jest OK.
Ale nie wiem jak się dostac do tego co siedzi w tym obiekcie JSON, gdy próbuje przez operator kropki tak jak czytałem wyświetla undefined... Co robić jak się do tego wgryźć?
komentarz 18 maja 2017 przez Harkor Użytkownik (530 p.)
Próbowałem z parse...
Mam taki kod:
var s = document.createElement("script");
    s.src = "http://steamcommunity.com/market/priceoverview/?currency=3&appid=730&market_hash_name=StatTrak%E2%84%A2%20M4A1-S%20|%20Hyper%20Beast%20(Minimal%20Wear)";
    document.write(s);
    JSON.parse(s);
    document.write(s.lowest_price);

A dostaje takie coś w konsoli:
SyntaxError: JSON.parse: unexpected character at line 1 column 2 of the JSON data[Więcej informacji]
komentarz 18 maja 2017 przez ScriptyChris Mędrzec (190,190 p.)
Sprawdzałeś w walidatorze, czy JSON jest prawidłowy (drugi akapit z linku wyżej)?
komentarz 18 maja 2017 przez Harkor Użytkownik (530 p.)
To dostaje z linka:
{"success":true,"lowest_price":"56,--\u20ac","volume":"12","median_price":"46,66\u20ac"}

To po walidacji:
{
    "success": true,
    "lowest_price": "56,--\u20ac",
    "volume": "12",
    "median_price": "46,66\u20ac"
}

Ogólnie: 

Results

Valid JSON
komentarz 18 maja 2017 przez ScriptyChris Mędrzec (190,190 p.)

Ok, więc masz już obiekt. Nie musisz go parsować.

Ale nie wiem jak się dostac do tego co siedzi w tym obiekcie JSON, gdy próbuje przez operator kropki tak jak czytałem wyświetla undefined

Pokaż kod, którym próbujesz się dostać do czegoś z wnętrza tego obiektu. 

komentarz 18 maja 2017 przez Harkor Użytkownik (530 p.)
Aha... ok
document.write(s);
Wyświetla mi na stronie napis: [object HTMLScriptElement]
A czytałem że przez operator kropki się dostaje to poszczególnych to dopisałem:
document.write(s.lowest_price);
A to już daje mi napis: undefined
komentarz 18 maja 2017 przez ScriptyChris Mędrzec (190,190 p.)

Ale zaraz... Przecież Ty podpinasz skrypt, którego źródłem jest jakieś API (bo to, co otrzymałeś jako obiekt, przeczytałeś w zakładce Network przeglądarki?). Powinieneś raczej pobrać z tej ścieżki (adres API) dane, czyli np. skorzystać z XHR albo Fetch. Teraz pod zmienną s masz po prostu obiekt DOM, którym jest <script> z atrybutem [src] ustawionym na API. Z tego co wiem, obiekty DOM nie przechowują danych, które otrzymało się jako wynik zapytania do serwera (API).

1
komentarz 18 maja 2017 przez Harkor Użytkownik (530 p.)
Wcześniej próbowałem z XHR ale wyrzucało błąd w konsoli z jakimś cross domain że nie mogę się odwoływać do innej domeny i tak drążąc jak to ominąć natrafiłem na JSONP.
komentarz 18 maja 2017 przez ScriptyChris Mędrzec (190,190 p.)

Spróbuj tej biblioteki albo tego skryptu.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
0 odpowiedzi 171 wizyt
pytanie zadane 30 czerwca 2017 w JavaScript przez Harkor Użytkownik (530 p.)
0 głosów
1 odpowiedź 404 wizyt
pytanie zadane 26 kwietnia 2016 w PHP przez patryk11441 Obywatel (1,150 p.)
0 głosów
0 odpowiedzi 188 wizyt
pytanie zadane 21 marca 2020 w Bezpieczeństwo, hacking przez mreo Użytkownik (790 p.)

93,630 zapytań

142,552 odpowiedzi

323,056 komentarzy

63,137 pasjonatów

Advent of Code 2025

Top 15 użytkowników

  1. 2416p. - dia-Chann
  2. 2390p. - DziarnowskiJ
  3. 2317p. - raydeal
  4. 2242p. - Łukasz Piwowar
  5. 2222p. - CC PL
  6. 2184p. - Adrian Wieprzkowicz
  7. 2010p. - rucin93
  8. 1968p. - Michal Drewniak
  9. 1957p. - Maurycy W
  10. 1887p. - Łukasz Eckert
  11. 1885p. - robwarsz
  12. 1811p. - rafalszastok
  13. 1600p. - Rafał Trójniak
  14. 1588p. - Tomasz Bielak
  15. 1377p. - ssynowiec
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...