Comment avez-vous JSON.stringify un ES6 Carte?

J'aimerais commencer à utiliser ES6 Carte au lieu des objets JS, mais je me suis retenue parce que je peux pas comprendre comment le JSON.stringify (), une Carte. Mes clés sont garantis d'être des chaînes de caractères et de mes valeurs seront toujours des listes. Dois-je vraiment écrire un wrapper méthode pour sérialiser?

  • article intéressant sur le sujet 2ality.com/2015/08/es6-map-json.html
  • J'ai pu obtenir que cela fonctionne. Les résultats sont sur Plunkr incorporer.plnkr.co/oNlQQBDyJUiIQlgWUPVP. La solution utilise un JSON.stringify(obj, replacerFunction) qui vérifie si un objet Map est passé et convertit la Carte de l'objet à l'objet Javascript (que JSON.stringify) va ensuite convertir en une chaîne de caractères.
  • Si vos clés sont garantis d'être des chaînes de caractères (ou chiffres) et votre les valeurs des tableaux, vous pouvez faire quelque chose comme [...someMap.entries()].join(';'); pour quelque chose de plus complexe, vous pouvez essayer quelque chose de similaire en utilisant quelque chose comme [...someMap.entries()].reduce((acc, cur) => acc + `${cur[0]}:${/* do something to stringify cur[1] */ }`, '')
  • Que faire si c'est possible pour le nom de la clé de même que les propriétés par défaut? obj[key] peut obtenir de vous quelque chose d'inattendu. Prenons le cas if (!obj[key]) obj[key] = newList; else obj[key].mergeWith(newList);.
  • Pourquoi avez-vous rouvrir ce?
  • Il n'était pas tout à fait un doublon de ce qui vous y est lié, à mon avis.
  • La question est rédigée de façon un peu différente, mais si vous insistez, je vais reposter ma réponse ici 🙂
  • Voir ma nouvelle réponse. Merci de considérer elle-il est probable que ce que les gens sont à la recherche de stackoverflow.com/a/54140811/124486
  • Pourquoi êtes-vous à l'aide d'une Carte, si vos clés sont des chaînes de caractères?

InformationsquelleAutor rynop | 2015-03-16