Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在控制器返回的Javascript中格式化JSON字符串_Javascript_Json_Model View Controller - Fatal编程技术网

如何在控制器返回的Javascript中格式化JSON字符串

如何在控制器返回的Javascript中格式化JSON字符串,javascript,json,model-view-controller,Javascript,Json,Model View Controller,我从控制器返回了JSON字符串,如下图所示 但我希望JSON字符串在每一行中都被格式化,如下图所示 到目前为止,我已经使用了以下方法,但不幸的是,如果有任何建议/支持,我将不胜感激 $.ajax ({ type: "GET", url: "/Transaction/showStuContact", da

我从控制器返回了JSON字符串,如下图所示

但我希望JSON字符串在每一行中都被格式化,如下图所示

到目前为止,我已经使用了以下方法,但不幸的是,如果有任何建议/支持,我将不胜感激

$.ajax
                ({
                    type: "GET",
                    url: "/Transaction/showStuContact",
                    data: { "id": id },
                    dataType: "json",
                    success: function (data)
                    {
                        myJSONstring = JSON.stringify(data);

                        myJSONstring1 = myJSONstring.replace(/\\n/g, "")
                            .replace(/ /g, '')
                            .replace(/\\t+/g, "|")
                             .replace(/\\'/g, "")
                             .replace(/\\"/g, '')
                             .replace(/\\&/g, "")
                            .replace(/\\r/g, "")
                            .replace(/\\b/g, "")
                            .replace(/\\f/g, "");

                        alert(myJSONstring1);
                      

                       
                    }
                });
是某些数据结构的字符串表示形式。它不需要很好地格式化。它的目的不是被人类读取,而是被传输或持久化,然后解析以从中恢复一个类似于用于生成它的数据结构。为此,最好是没有不必要的字符(如空格或新行)的长行

但是,如果您想生成一个人类可读的JSON,可以使用三个参数进行调用。当提供第三个参数时,JSON在多行上格式化,第三个参数告诉用于缩进内部块行(每个块相对于其父块)的空格字符数

const数据={
id:123,
名字:“约翰”,
姓氏:“Doe”,
地址:{
城市:“纽约市”,
街道:“任何街道”,
}
};
//用于传输、持久性和恢复
log(JSON.stringify(data));
//供人食用

log(JSON.stringify(data,null,3))
是某些数据结构的文本表示形式。JavaScript函数创建一个JSON。在JSON上进行字符串替换可能会破坏它,使其无效且不可解析。如果需要更改生成的值,请更改
data
的属性,或使用
data
生成不同的对象,并将此新对象编码为JSON并返回。知道如何使用replace或任何其他JS函数将逗号转换为换行符吗。JSON的格式并不重要,因为它的目的不是供人读取,而是传输或持久化,然后解析以恢复与创建它所用的数据结构类似的数据结构。对于传输和持久性,一条没有不必要的空白字符的长线是最好的。如果您需要很好地格式化它,请使用编辑器(现在大多数编程编辑器都知道如何很好地格式化几乎所有内容)。如果您从命令行使用JSON,它非常适合格式化和操作。您以这种方式生成的输出不再是JSON。如果您不需要JSON,那么就不要将数据编码为JSON。@这是有道理的。你还有什么要解释的吗。
$.ajax
                ({
                    type: "GET",
                    url: "/Transaction/showStuContact",
                    data: { "id": id },
                    dataType: "json",
                    success: function (data)
                    {
                        myJSONstring = JSON.stringify(data);

                        myJSONstring1 = myJSONstring.replace(/,/g, '\n');
                            //.replace(/ /g, '')
                            //.replace(/\\t+/g, "|")
                            // .replace(/\\'/g, "")
                            // .replace(/\\"/g, '')
                            // .replace(/\\&/g, "")
                            //.replace(/\\r/g, "")
                            //.replace(/\\b/g, "")
                            //.replace(/\\f/g, "");

                            //.replace
                        alert(myJSONstring1);