web-dev-qa-db-fra.com

Uncaught (promis) SyntaxError: Jeton inattendu 'dans la fonction de récupération

J'ai quelques fichiers JSON qui sont structurés comme ceci (appelons cet info.json):

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

Et dans un fichier JavaScript séparé, j'ai une fonction qui ressemble à ceci:

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

Et je continue à avoir cette erreur quand je lance getJSONInfo():

Uncaught (in promise) SyntaxError: Unexpected token '

Qu'est-ce que je rate? Je n'ai pas de ' égaré, je ne suis donc pas sûr de ce qui ne va pas.

6
Cassidy Williams

Vous devez avoir des guillemets doubles pour vos attributs pour un json valide.

Vous pouvez utiliser des validateurs json tels que http://jsonlint.com/ pour vérifier si votre syntaxe est correcte.

En outre, comme l'a souligné shayanypn, "past" devrait être un objet plutôt qu'un tableau. Vous essayez de définir "past" en tant que littéral d'objet, mais utilisez des crochets pour indiquer un tableau.

6
Collin

vous est invalide du tout

1- vous devriez utiliser des guillemets doubles

2- mauvaise syntaxe d'attribut d'objet

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

il devrait dormir

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

votre json valide est

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