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

Czy to jest JSON object ? JSON.parse: unexpected end of data at line 1 column 1 of the JSON data

0 głosów
930 wizyt
pytanie zadane 9 stycznia 2020 w JavaScript przez wojciuszek Nowicjusz (180 p.)
zmienione kategorie 9 stycznia 2020 przez Arkadiusz Waluk

Próbuje wyświetlić w konsoli obiekt który wyświetla mi się następująco

url: domena.com/dzial1

["Ksiegowosc","Kadry","Place"]

jednak otrzymuje błąd:

JSON.parse: unexpected end of data at line 1 column 1 of the JSON data

czy coś źle rozumiem? może to nie jest JSON i inaczej mam to sparsować ?

 

mój kod wygląda następująco:

 

fetch('http://domena/dzial1' , 
{
mode: 'no-cors',
method: 'GET',
headers: {  'Accept-Encoding': 'gzip, deflate', 'Content-Type': 'application/json'},

  
  })
  .then(response => response.json())
  .then(json => console.log(json))

  .catch(error => alert(error.message)); 

 

2 odpowiedzi

0 głosów
odpowiedź 9 stycznia 2020 przez niezalogowany
Dlatego, że w odpowiedzi masz tablicę, a nie obiekt json.
komentarz 9 stycznia 2020 przez adrian17 Ekspert (302,720 p.)
Odpowiedź `["Ksiegowosc","Kadry","Place"]` jest jak najbardziej poprawnym JSONem.
komentarz 9 stycznia 2020 przez niezalogowany
O, myślałem, że poprawny obiekt json zaczyna się i kończy klamrami { }.
1
komentarz 9 stycznia 2020 przez adrian17 Ekspert (302,720 p.)

Według składni, nawet `1` jest poprawnym JSONem.

A po stronie JSa:

https://developer.mozilla.org/en-US/docs/Web/API/Body/json

A Promise that resolves to a JavaScript object. This object could be anything that can be represented by JSON — an object, an array, a string, a number...

komentarz 9 stycznia 2020 przez niezalogowany
Ok. Dzięki za zwrócenie uwagi.
komentarz 9 stycznia 2020 przez wojciuszek Nowicjusz (180 p.)

@korsarz, to w takim razie co robię nie tak ?

komentarz 10 stycznia 2020 przez niezalogowany

Spróbuj zmienić:

["Ksiegowosc","Kadry","Place"]

na np. coś takiego:

{
 dzialy: ["Ksiegowosc","Kadry","Place"]	
}

 

komentarz 12 stycznia 2020 przez wojciuszek Nowicjusz (180 p.)
dzięki.

a co jeśli api nie jest po mojej stronie i nie mam na to wpływu?

mogę to zmienić w "locie" ?
0 głosów
odpowiedź 10 stycznia 2020 przez adrian17 Ekspert (302,720 p.)
Spróbuj wypisać `response.text()` zamiast `response.json()` - upewnisz się, że faktycznie dostajesz z API to co powinieneś dostać.

Podobne pytania

–1 głos
0 odpowiedzi 27 wizyt
0 głosów
1 odpowiedź 747 wizyt
0 głosów
2 odpowiedzi 5,365 wizyt

85,805 zapytań

134,588 odpowiedzi

298,787 komentarzy

56,698 pasjonatów

Advent of Code 2021

Top 15 użytkowników

  1. 494p. - rucin93
  2. 463p. - nidomika
  3. 431p. - CC PL
  4. 385p. - Whistleroosh
  5. 379p. - ScriptyChris
  6. 372p. - adrian17
  7. 340p. - TheLukaszNs
  8. 339p. - WhiskeyTaster
  9. 321p. - Argeento
  10. 318p. - Dagohar
  11. 287p. - Anonim 1794483
  12. 281p. - Klaudia
  13. 278p. - B4mbus
  14. 269p. - b0mbix
  15. 246p. - tokox
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 dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...