【问题标题】:json-editor ignores starting valuejson-editor 忽略起始值
【发布时间】:2021-12-25 03:02:20
【问题描述】:

我正在尝试使用https://github.com/json-editor/json-editor。我已多次阅读所有文档和示例,但我无法让编辑器尊重我的起始值 (startVal)。编辑器是使用我的模式创建的,但编辑器没有使用我提供的起始对象进行初始化。这是我的代码:

  $.get("/AppAdmin/GetWorkflowEditSchema", {}, function (schemaResponse) {

      if (schemaResponse) {

        var editSchema = JSON.parse(schemaResponse);

        $.get("/AppAdmin/GetWorkflow?workflowName=" + workflowToEdit, {}, function (workflowResponse) {

          if (workflowResponse)
          {
            var workflow = JSON.parse(workflowResponse);

            const holder = document.getElementById("workflowEditorHolder");

            var options = {
              "schema": editSchema,
              "startVal": workflow,
              "theme": "bootstrap4"
            };
    
            jsonEditor = new JSONEditor(holder, options);
          }
          else {
            toastr.error("The workflow could not be loaded to edit.");
          }
        });

      }
      else {
        toastr.error("Reading edit schema failed.");
      }

两个服务器响应都是正确的 JSON 字符串。当我将架构和起始对象复制并粘贴到https://pmk65.github.io/jedemov2/dist/demo.html 的 json-editor 交互式游乐场时,将使用正确的起始值创建编辑器。所以我怀疑我的对象有问题。我对 JSON 很陌生,所以这不足为奇。

这是我的架构:

以及我试图初始化编辑器的对象:

我做错了什么?感谢您的帮助。

【问题讨论】:

    标签: javascript jquery json plugins schema


    【解决方案1】:

    我通过在创建后使用 setValue() 而不是传递初始化对象来完成这项工作:

                var options = {
                  "schema": editSchema,
                  // "startVal": workflow,
                  "theme": "bootstrap4"
                };
        
                jsonEditor = new JSONEditor(holder, options);
                jsonEditor.setValue(workflow);

    【讨论】:

      猜你喜欢
      • 2021-12-25
      • 2011-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-17
      • 1970-01-01
      相关资源
      最近更新 更多