我的网页中有一个 ACE 编辑器实例,我希望能够从文本文件填充它。为此,我设置了一个下拉菜单,其 onchange 函数映射到以下内容:
<script type="text/javascript">
function popEx(example){
$.getJSON('testing.txt', function(data){
var curr_row = $(example).closest('tr');
var elem = $(curr_row.children()[1]).children()[0];
var editor = ace.edit(elem);
editor.getSession().setValue(JSON.parse(data));
//editor.getSession().setValue(JSON.stringify(data));
});
}
</script>
我遇到的问题是将文本自动格式化为 JSON。注释掉的 stringify 可以很好地粘贴它,但我希望它以缩进的 JSON 样式自动格式化。目前,页面中断并给出错误 SyntaxError: JSON.parse: JSON 数据的第 1 行第 2 列出现意外字符
。我确信有一个简单的方法可以做到这一点,有人有快速的解决方案吗?
最佳答案
JSON.stringify
确实支持生成字符串的简单格式化
JSON.stringify(data, null, 4) // indent with 4 spaces
JSON.stringify(data, null, "RTFM") // indent with arbitrary string e.g "\t"
但请注意,这个问题与 ace 没有任何关系,只需在 google 中搜索 format json stringify javascript
即可更快地给出答案
关于javascript - 使用 JQuery 将未格式化的 JSON 文本添加到 ACE Editor Div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26050682/