Je fais une déclaration console.log dans mon javascript afin de pouvoir enregistrer un objet javascript. Je me demande s'il y a un moyen, une fois que cela est fait - de copier cet objet sous forme de code javascript. Ce que j'essaie de faire est de convertir un objet créé avec ajax pour analyser un flux XML en un objet JavaScript statique afin qu'un fichier puisse être exécuté localement, sans serveur. J'ai inclus une capture d'écran de l'objet dans la fenêtre de l'inspecteur Chrome afin que vous puissiez voir ce que j'essaie de faire.
Cliquez avec le bouton droit sur un objet dans la console de Chrome et sélectionnez Store as Global Variable
dans le menu contextuel. Il renverra quelque chose comme temp1
en tant que nom de variable.
Chrome possède également une méthode copy()
. copy(temp1)
dans la console doit donc copier cet objet dans votre presse-papiers.
Note sur les objets récursifs: Si vous essayez de copier un objet récursif, vous obtiendrez [object Object]
. C'est à prévoir.
Essayez JSON.stringify()
. Copiez la chaîne résultante.
Vous pouvez copier un objet sur votre presse-papiers à l’aide de copy (JSON.stringify (Nom_Objet)); dans la console.
Par exemple: - Copiez et collez le code ci-dessous dans votre console et appuyez sur Entrée. Maintenant, essayez de le coller (ctrl + V) quelque part ailleurs et vous obtiendrez {"name": "Daniel", "age": 25}
var profile = {
name: "Daniel",
age: 25
};
copy(JSON.stringify(profile));
Vous pouvez maintenant accomplir cela dans Chrome en cliquant avec le bouton droit de la souris sur l'objet et en sélectionnant "Stocker en tant que variable globale": http://www.youtube.com/watch?v=qALFiTlVWdg
Suivez les étapes suivantes:
JSON.stringify(temp1)
.Si vous avez envoyé l'objet via une demande, vous pouvez le copier à partir de l'onglet Chrome -> Réseau.
Request Payload -> Voir la source
L'utilisation de "Stocker en tant que variable globale" fonctionne, mais elle ne récupère que l'instance finale de l'objet, et non le moment où l'objet est en cours de journalisation (car vous souhaiterez probablement comparer les modifications apportées à l'objet à mesure qu'elles se produisent). Pour obtenir l'objet au moment exact de sa modification, j'utilise cette ...
function logObject(object) {
console.info(JSON.stringify(object).replace(/,/g, ",\n"));
}
Appelez ça comme si ...
logObject(puzzle);
Vous voudrez peut-être supprimer la regex .replace (/./ g, ",\n") si vos données contiennent des virgules.
Cela devrait aider à structurer les objets profonds en omettant les objets Window
et Node
récursifs.
function stringifyObject(e) {
const obj = {};
for (let k in e) {
obj[k] = e[k];
}
return JSON.stringify(obj, (k, v) => {
if (v instanceof Node) return 'Node';
if (v instanceof Window) return 'Window';
return v;
}, ' ');
}
clic droit sur les données que vous souhaitez stocker
Alors,. J'ai eu ce problème, sauf que j'ai [objet objet]
Je suis sûr que vous pourriez le faire avec la récursivité, mais cela a fonctionné pour moi:
Voici ce que j'ai fait dans ma console:
var object_that_is_not_shallow = $("all_obects_with_this_class_name");
var str = '';
object_that_is_not_shallow.map(function(_,e){
str += $(e).html();
});
copy(str);
Puis collez dans votre éditeur.