Je cherche un moyen de formater (comme dans les espaces, les sauts de ligne le cas échéant) un résultat JSON afin que je puisse afficher le résultat réel mais bien formaté.

$.ajax({
                url: "/Home/Send",
                type: "POST",
                data: JSON.stringify(request),
                dataType: "json",
                contentType: "application/json; charset=utf-8",
                success: function (data) {
                    $("#ResponseBody").val(data.ResponseBody);
                },
                error: function (data) {
                    alert(data);
                }
            });

C'est mon code, qui fonctionne très bien data.ResponseBody contient le JSON, mais comme prévu, il n'est pas bien formaté.

Quelqu'un connaît-il un plugin / une méthode jQuery qui me permettrait de formater la réponse?

20
iain 4 nov. 2011 à 14:20

3 réponses

Meilleure réponse

Vous pouvez simplement utiliser le troisième paramètre de JSON.stringify:

    success: function (data) {
        var obj = JSON.parse(data.ResponseBody);
        $("#ResponseBody").val(JSON.stringify(obj, null, 4));
    },

N'oubliez pas d'ajouter une règle CSS comme #ResponseBody {white-space: pre;} pour faire apparaître les retours à la ligne.

40
phihag 4 nov. 2011 à 10:26

JSONLint inclut cette fonctionnalité

2
Quentin 4 nov. 2011 à 10:24

J'ai trouvé un code très simple pour formater JSON. http://joncom.be/code/javascript -json-formatter /

J'espère que cela aidera quelqu'un..

1
Dilip Rajkumar 23 juil. 2013 à 14:44
8007763