【发布时间】:2020-11-10 12:36:27
【问题描述】:
我有从控制器返回的 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 是一些数据结构的文本表示。 JavaScript 函数
JSON.stringify()创建一个 JSON。在 JSON 上进行字符串替换可能会破坏它并使其无效且无法解析。如果您需要更改生成的值,请更改data的属性或使用data生成不同的对象并将这个新对象编码为 JSON 并返回。 -
知道如何使用 replace 或任何其他 JS 函数将逗号转换为换行符。我确信我正在寻找的一切。
-
JSON 的格式无关紧要,因为它的目的不是供人类阅读,而是传输或持久化,然后解析以恢复类似于用于创建它的数据结构。对于传输和持久性,最好没有不必要的空白字符的一长行。如果您需要很好地格式化它,请使用编辑器(现在大多数编程编辑器都知道如何很好地格式化几乎任何东西)。如果您从命令行使用 JSON,
jq非常适合格式化和操作。
标签: javascript json model-view-controller