我刚刚开始使用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));
};