在 angularjs codemirror 中显示 json 对象

Display json object in angularjs codemirror

我有一个 json 对象,想使用 angularjs codemirror 在 codemirror 上显示它,但出现错误 ui-codemirror cannot use an object or an array as a model。然后我尝试使用 JSON.stringify 将对象转换为字符串,该字符串在 codemirror 中的格式不正确。任何人都可以帮助我弄清楚如何在 codemirror 中很好地格式化我的代码? 谢谢

例如:

//inside javascript

    $scope.code = {
        "name": "user1",
        "id": "34",
        "value": [3, 5, 4]
    };
    
     $scope.editorOptions = {
          lineWrapping : true,
          lineNumbers: true,
          mode: 'application/json',
        };

//inside html
<ui-codemirror ui-codemirror-opts="editorOptions" ng-model="code"></ui-codemirror>

它 returns 这是一个错误:ui-codemirror 不能使用对象或数组作为模型

如果我改成JSON.stringify($scope.code),代码镜像显示如下:

{"name":"user1","id":"34","value":[3,5,4]}

但是,我希望它显示为:

{

      "name": "user1",
      "id": "34",
      "value": [3, 5, 4]
    }

有什么帮助吗? 谢谢

您可以指定缩进:

$scope.codeView = JSON.stringify($scope.code, null, 4);

Live example