Si j'ai défini un objet dans JS avec:
var j={"name":"binchen"};
Comment puis-je convertir l'objet en JSON? La chaîne de sortie devrait être:
'{"name":"binchen"}'
Tous les navigateurs actuels ont un support JSON natif intégré. Donc, tant que vous n'avez pas affaire à des navigateurs préhistoriques comme IE6/7, vous pouvez le faire aussi facilement que cela:
var j={"name":"binchen"};
JSON.stringify(j); // '{"name":"binchen"}'
Avec JSON.stringify()
trouvé dans json2.js ou dans la plupart des navigateurs modernes.
JSON.stringify(value, replacer, space) value any JavaScript value, usually an object or array. replacer an optional parameter that determines how object values are stringified for objects. It can be a function or an array of strings. space an optional parameter that specifies the indentation of nested structures. If it is omitted, the text will be packed without extra whitespace. If it is a number, it will specify the number of spaces to indent at each level. If it is a string (such as '\t' or ' '), it contains the characters used to indent at each level. This method produces a JSON text from a JavaScript value.
Découvrez la mise à jour/meilleure façon:
Mise à jour du 17 mai 2008: Petit désinfectant ajouté à la méthode toObject. À présent toObject () n'évalue pas () la chaîne s'il trouve un code malveillant dans Pour encore plus de sécurité: ne définissez pas l'indicateur includeFunctions sur true.
Douglas Crockford, père du concept JSON, a écrit l’un des premiers outils de codification pour JavaScript. Plus tard, Steve Yen de Trim Path a écrit une version améliorée de Nice, que j’utilise depuis quelque temps. Ce sont mes modifications à la version de Steve que j'aimerais partager avec vous. Fondamentalement, ils découlent de mon souhait de faire le stringifier:
• handle and restore cyclical references • include the JavaScript code for functions/methods (as an option) • exclude object members from Object.prototype if needed.
Vous pouvez utiliser JSON.stringify () method pour convertir un objet JSON en chaîne.
var j={"name":"binchen"};
JSON.stringify(j)
Pour le processus inverse, vous pouvez utiliser JSON.parse () method pour convertir une chaîne JSON en objet JSON.
Json Stringify peut convertir votre objet js en json
var x = {"name" : "name1"};
JSON.stringify(x);
JSON.stringify({"key":"value"});
Si vous utilisez AngularJS, le filtre 'json' devrait le faire:
<span>{{someObject | json}}</span>
En angularJS
angular.toJson(obj, pretty);
obj: Entrée à sérialiser en JSON.
joli (facultatif):
Si défini sur true, la sortie JSON contiendra des nouvelles lignes et des espaces. Si la valeur est un entier, la sortie JSON contiendra autant d'espaces par indentation.
(défaut: 2)
JSON.stringify
transforme un objet Javascript en texte JSON et stocke ce texte JSON dans une chaîne.
La conversion est un objet Object en chaîne
JSON.parse
transforme une chaîne de texte JSON en un objet Javascript.
La conversion est un String to Object
var j={"name":"binchen"};
pour en faire une chaîne JSON suivante pourrait être utilisé.
JSON.stringify({"key":"value"});
JSON.stringify({"name":"binchen"});
Pour plus d'informations, vous pouvez vous référer à ce lien ci-dessous.
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify
JSON.stringify(j,null,4)
vous donnerait un JSON embelli au cas où vous auriez également besoin d'embellissement
Une coutume définie pour cela, jusqu'à ce que nous fassions étrange de la méthode stringify
var j={"name":"binchen","class":"awesome"};
var dq='"';
var json="{";
var last=Object.keys(j).length;
var count=0;
for(x in j)
{
json += dq+x+dq+":"+dq+j[x]+dq;
count++;
if(count<last)
json +=",";
}
json+="}";
document.write(json);
SORTIE
{"name":"binchen","class":"awesome"}
J'avais des problèmes avec une mémoire insuffisante et d'autres solutions ne semblaient pas fonctionner (au moins, je ne pouvais pas les faire fonctionner) et c'est à ce moment-là que je suis tombé sur ce fil. Merci à Rohit Kumar Je viens de parcourir mon très grand objet JSON pour l'empêcher de tomber en panne
var j = MyObject;
var myObjectStringify = "{\"MyObject\":[";
var last = j.length
var count = 0;
for (x in j) {
MyObjectStringify += JSON.stringify(j[x]);
count++;
if (count < last)
MyObjectStringify += ",";
}
MyObjectStringify += "]}";
MyObjectStringify vous donnerait votre représentation de chaîne (comme mentionné à plusieurs reprises dans ce fil), sauf si vous avez un objet de grande taille, cela devrait également fonctionner - assurez-vous simplement de le construire pour répondre à vos besoins - J'en avais besoin un nom que tableau
var someObj = { "name" : "some name" };
var someObjStr = JSON.stringify(someObj);
console.log( someObjStr );
const obj = { "name":"xxx", "city":"York"};
const myJSON = JSON.stringify(obj);
console.log(myJSON);
Woking ... Facile à utiliser
$("form").submit(function(evt){
evt.preventDefault();
var formData = $("form").serializeArray(); // Create array of object
var jsonConvert = JSON.stringify(formData); // Convert to json
});
Merci
Il suffit de copier et coller
$("form").submit(function(evt){
evt.preventDefault();
var formData = $("form").serializeArray(); // Create array of object
var jsonConvertedData = JSON.stringify(formData); // Convert to json
});
définir un objet
let obj = {
"firstname" : "Hello",
"lastname" : "javascript"
};
puis convertissez-le en chaîne en utilisant ce code
strObj= JSON.stringify(obj);
pour être sûr de consoler le résultat
console.log(strObj);
So in order to convert a js object to JSON String:
La syntaxe simple pour convertir un objet en une chaîne est
JSON.stringify(value)
La syntaxe complète est la suivante: JSON.stringify (valeur [ replacer [ espace]])
Voyons quelques exemples simples. Notez que toute la chaîne obtient guillemets et toutes les données de la chaîne sont échappées si est nécessaire
JSON.stringify("foo bar"); // ""foo bar""
JSON.stringify(["foo", "bar"]); // "["foo","bar"]"
JSON.stringify({}); // '{}'
JSON.stringify({'foo':true, 'baz':false}); /* "
{"foo":true,"baz":false}" */
const obj = { "property1":"value1", "property2":"value2"};
const JSON_response = JSON.stringify(obj);
console.log(JSON_response);/*"{ "property1":"value1",
"property2":"value2"}"*/
si vous voulez obtenir la valeur des propriétés JSON au format chaîne, utilisez la méthode suivante
var i = {"x":1}
var j = JSON.stringify(i.x);
var k = JSON.stringify(i);
console.log(j);
"1"
console.log(k);
'{"x":1}'
Les remplacements JSON existants étaient trop pour moi, alors j'ai écrit ma propre fonction. Cela semble fonctionner, mais j'ai peut-être manqué plusieurs cas Edge (qui ne se produisent pas dans mon projet). Et ne fonctionnera probablement pas pour les objets préexistants, mais uniquement pour les données créées par vous-même.
function simpleJSONstringify(obj) {
var prop, str, val,
isArray = obj instanceof Array;
if (typeof obj !== "object") return false;
str = isArray ? "[" : "{";
function quote(str) {
if (typeof str !== "string") str = str.toString();
return str.match(/^\".*\"$/) ? str : '"' + str.replace(/"/g, '\\"') + '"'
}
for (prop in obj) {
if (!isArray) {
// quote property
str += quote(prop) + ": ";
}
// quote value
val = obj[prop];
str += typeof val === "object" ? simpleJSONstringify(val) : quote(val);
str += ", ";
}
// Remove last colon, close bracket
str = str.substr(0, str.length - 2) + ( isArray ? "]" : "}" );
return str;
}
vous pouvez utiliser la fonction native stringify comme ça
const j={ "name": "binchen" }
/** convert json to string */
const jsonString = JSON.stringify(j)
console.log(jsonString) // {"name":"binchen"}
Vous pouvez utiliser JSON.stringify (j) pour convertir le fichier JSON en chaîne.
Tout ce dont vous avez besoin est d'ajouter ce code ci-dessousvar j={"name":"binchen"};
JSON.stringify(j); // '{"name":"binchen"}'
vous pouvez utiliser la fonction JSON.stringify () pour le faire.
var j={"name":"binchen"};
var x= json.stirngify(j);
cela convertiraJSONobject en a Stingified Object
pour une liaison à sens unique vous pouvez le faire en HTML
<span>{{j|json}}</span>
Pour le débogage dans le noeud JS, vous pouvez utiliser util.inspect () . Cela fonctionne mieux avec des références circulaires.
var util = require('util');
var j = {name: "binchen"};
console.log(util.inspect(j));
JSON.strigify()
est la meilleure pratique pour cela.
var x = {
"name" : "name1",
"age" : 20
};
var json = JSON.stringify(x);
console.log(json);