Ace-Editor的JSON自动格式化/缩进

20

我刚刚开始使用Ace编辑器。根据文档的说明“编辑器支持纯文本模式。所有其他语言模式都作为单独的模块提供,按需加载…”这是设置JavaScript模式的方法editor.getSession().setMode("ace/mode/javascript");但这只适用于语法高亮。

在我的情况下,我正在处理JSON- editor.getSession().setMode("ace/mode/json")

我想要实现的是

  • 显示格式良好的JSON响应

问题是

  • Ace编辑器似乎无法处理JS对象或JSON,必须将其转换为字符串才能在editor.setValue()上使用

问题是:

  • 如何在放置在<div id="editor"></div>上的字符串上设置自动格式化/缩进?

HTML:

<div id="editor"></div>

SCRIPT: jsonDoc是来自服务器的数据

$scope.getData = function (jsonDoc) {
  var editor = ace.edit("editor");
  editor.getSession().setMode("ace/mode/json");
  editor.setTheme("ace/theme/twilight");
  editor.getSession().setTabSize(2);
  editor.getSession().setUseWrapMode(true);
  editor.setValue(JSON.stringify(jsonDoc));
};
1个回答

65

35
如何在其他语言中实现这个? - user1733583

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接