• 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

Object Storage Arubacloud
0 głosów
1,991 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 (344,860 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 (344,860 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 (344,860 p.)
Spróbuj wypisać `response.text()` zamiast `response.json()` - upewnisz się, że faktycznie dostajesz z API to co powinieneś dostać.

Podobne pytania

0 głosów
1 odpowiedź 1,265 wizyt
0 głosów
2 odpowiedzi 6,896 wizyt
+1 głos
2 odpowiedzi 559 wizyt

92,555 zapytań

141,403 odpowiedzi

319,558 komentarzy

61,940 pasjonatów

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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...