このような構造のJSONファイルがいくつかあります(これをinfo.jsonと呼びます)。
_{
'data': {
'title': 'Job',
'company': 'Company',
'past': [
'fulltime': [
'Former Company'
],
'intern': [
'Women & IT',
'Priority 5'
]
],
'hobbies': [
'playing guitar',
'singing karaoke',
'playing Minecraft',
]
}
}
_
別のJavaScriptファイルには、次のような関数があります。
_function getJSONInfo() {
fetch('info.json').then(function(response) {
return response.json();
}).then(function(j) {
console.log(j);
});
}
_
getJSONInfo()
を実行すると、このエラーが発生し続けます:
_Uncaught (in promise) SyntaxError: Unexpected token '
_
何が欠けていますか?どこにも迷子の_'
_がないので、何が悪いのかわかりません。
有効なjsonの属性には二重引用符が必要です。
http://jsonlint.com/ などのjsonバリデーターを使用して、構文が正しいかどうかを確認できます。
また、shayanypnが指摘したように、「過去」は配列ではなくオブジェクトである必要があります。 「過去」をオブジェクトリテラルとして定義しようとしていますが、角括弧を使用して配列を示しています。
あなたはまったく無効です
1-二重引用符を使用する必要があります
2-オブジェクト属性の構文が間違っています
"past": [
"fulltime": [
"Former Company"
],
"intern": [
"Women & IT",
"Priority 5"
]
],
それは寝るべきです
"past": {
"fulltime": [
"Former Company"
],
"intern": [
"Women & IT",
"Priority 5"
]
},
あなたの有効なjsonは
{
"data": {
"title": "Job",
"company": "Company",
"past": {
"fulltime": [
"Former Company"
],
"intern": [
"Women & IT",
"Priority 5"
]
},
"hobbies": [
"playing guitar",
"singing karaoke",
"playing Minecraft"
]
}
}