2015-03-27 1 views
0

J'ai un objet JSON + LD et j'ai besoin d'ajouter dynamiquement des éléments à l'élément de liste. Si je commence par ce code:Comment puis-je ajouter un fil d'Ariane à une liste JSON + LD existante

var jsonObj = { 
    "@context": "http://schema.org", 
    "@type": "BreadcrumbList", 
    "itemListElement": 
    [ 
     { 
      "@type": "ListItem", 
      "position": 1, 
      "item": 
      { 
       "@id": "http://domain.com/", 
       "name": "Home" 
      } 
     }, 
     { 
      "@type": "ListItem", 
      "position": 2, 
      "item": 
      { 
       "@id": "http://domain.com/used-equipment/", 
       "name": "Used Equipment" 
      } 
     } 
    ] 
} 

Comment puis-je ajouter un autre élément à la position 3 en utilisant JavaScript? Est-ce que c'est possible?

+1

Où est le JSON? Il semble que vous ayez un objet JS normal, et l'élément "list" est un tableau. Par conséquent, vous pouvez faire quelque chose comme 'jsonObj.itemListElement.push ({...});' – Teemu

+0

Pouvez-vous faire cela après le chargement de la page initiale? Je dois ajouter à la liste après avoir reçu de nouvelles données d'un service Web – pedrom40

+0

Oui, si vous pouvez accéder à 'jsonObj' dans la fonction, qui reçoit les données. – Teemu

Répondre

0

Bien sûr, vous l'ajoutez comme vous avez fait les deux premiers:

[ 
    { 
     "@type": "ListItem", 
     "position": 1, 
     "item": 
     { 
      "@id": "http://domain.com/", 
      "name": "Home" 
     } 
    }, 
    { 
     "@type": "ListItem", 
     "position": 2, 
     "item": 
     { 
      "@id": "http://domain.com/used-equipment/", 
      "name": "Used Equipment" 
     } 
    }, 
    { 
     "@type": "ListItem", 
     "position": 3, 
     "item": 
     { 
      "@id": "Insert URL here", 
      "name": "Name of the page" 
     } 
    } 
] 
+0

Oui, mais comment puis-je l'ajouter après le chargement de la page, par exemple après avoir reçu de nouvelles données d'un service? Certains produits sont en cours de chargement à partir d'un service Web. Je dois donc les ajouter à la liste de navigation initiale après le chargement initial de la page. – pedrom40

+0

@ pedrom40 Alors faites ce que Teemu a dit. Et oui, cela peut être fait après le chargement de la page puisque ce sera le code Javascript en cours d'exécution. –