I have a couple JSON files that are structured like this (let's call this info.json):
{
'data': {
'title': 'Job',
'company': 'Company',
'past': [
'fulltime': [
'Former Company'
],
'intern': [
'Women & IT',
'Priority 5'
]
],
'hobbies': [
'playing guitar',
'singing karaoke',
'playing Minecraft',
]
}
}
And in a separate JavaScript file, I have a function that looks like this:
function getJSONInfo() {
fetch('info.json').then(function(response) {
return response.json();
}).then(function(j) {
console.log(j);
});
}
And I keep getting this error when I run getJSONInfo()
:
Uncaught (in promise) SyntaxError: Unexpected token '
What am I missing? I don't have a stray '
anywhere so I'm not sure what's wrong.
You need to have double quotes for your attributes for valid json.
You can use json validators such as http://jsonlint.com/ to check if your syntax is correct.
Also, as shayanypn pointed out, "past" should be an object, rather than an array. You are trying to define "past" as an object literal but are using square brackets to denote an array.
you is invalid at all
1- you should use double quotes
2- bad syntax of object attribute
"past": [
"fulltime": [
"Former Company"
],
"intern": [
"Women & IT",
"Priority 5"
]
],
it should bed
"past": {
"fulltime": [
"Former Company"
],
"intern": [
"Women & IT",
"Priority 5"
]
},
your valid json is
{
"data": {
"title": "Job",
"company": "Company",
"past": {
"fulltime": [
"Former Company"
],
"intern": [
"Women & IT",
"Priority 5"
]
},
"hobbies": [
"playing guitar",
"singing karaoke",
"playing Minecraft"
]
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With