• 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

VPS Starter Arubacloud
0 głosów
1,989 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,100 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,100 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,100 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,248 wizyt
0 głosów
2 odpowiedzi 6,852 wizyt
+1 głos
2 odpowiedzi 524 wizyt

92,452 zapytań

141,262 odpowiedzi

319,085 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...