2016-03-07 14 views
5

getirme (en bu info.json diyelim): Yakalanmayan (sözden) SyntaxError: Beklenmedik belirteç 'in böyle yapılandırılmıştır birkaç JSON dosyaları var fonksiyonunu

{ 
    'data': { 
    'title': 'Job', 
    'company': 'Company', 
    'past': [ 
     'fulltime': [ 
     'Former Company' 
     ], 
     'intern': [ 
     'Women & IT', 
     'Priority 5' 
     ] 
    ], 
    'hobbies': [ 
     'playing guitar', 
     'singing karaoke', 
     'playing Minecraft', 
    ] 
    } 
} 

Ve ayrı bir JavaScript dosyası

,

function getJSONInfo() { 
    fetch('info.json').then(function(response) { 
    return response.json(); 
    }).then(function(j) { 
    console.log(j); 
    }); 
} 

Ve getJSONInfo() çalıştırdığınızda bu hatayı almaya devam: Ben şöyle bir işleve sahip

Uncaught (in promise) SyntaxError: Unexpected token ' 

Neyi özlüyorum? Herhangi bir yerde ' yok, bu yüzden neyin yanlış olduğundan emin değilim.

+0

Aynı sorunu alıyorum, ancak yanıtım yakın zamana kadar benim için çalışan .NET OAuth kodundan geliyor. Sorunun ne olduğunu hatırlıyor musun? – Tom

+0

@Tom, çünkü çift tırnak yerine tek tırnak kullandım, tekli kullanmak için geçersiz JSON oldu! –

cevap

5

Geçerli json için öznitelikleriniz için çift tırnak kullanmanız gerekir.

Sözdiziminizin doğruluğunu kontrol etmek için http://jsonlint.com/ gibi json doğrulayıcılarını kullanabilirsiniz. Ayrıca, shayanypn'ın işaret ettiği gibi "geçmiş" bir dizi yerine bir nesne olmalıdır. Bir nesneyi "geçmiş" olarak tanımlamaya çalışıyorsunuz ancak bir diziyi belirtmek için köşeli parantez kullanıyorsunuz.

1

Eğer çift tırnak

kullanmalıdır tüm

1-, geçersiz nesne özelliğinin

2- kötü sözdizimi

"past": [ 
    "fulltime": [ 
     "Former Company" 
    ], 
    "intern": [ 
     "Women & IT", 
     "Priority 5" 
    ] 
], 

olması gerektiği

"past": { 
    "fulltime": [ 
     "Former Company" 
    ], 
    "intern": [ 
     "Women & IT", 
     "Priority 5" 
    ] 
}, 

Geçerli yatak json,

'tür.
{ 
    "data": { 
     "title": "Job", 
     "company": "Company", 
     "past": { 
      "fulltime": [ 
       "Former Company" 
      ], 
      "intern": [ 
       "Women & IT", 
       "Priority 5" 
      ] 
     }, 
     "hobbies": [ 
      "playing guitar", 
      "singing karaoke", 
      "playing Minecraft" 
     ] 
    } 
} 
İlgili konular