【问题标题】:couchdb futon document editor - can I customize the document validation part?couchdb futon 文档编辑器 - 我可以自定义文档验证部分吗?
【发布时间】:2025-11-27 02:10:01
【问题描述】:

如果我可以在此编辑器的文本字段中编辑对象文字而不是 JSON 表达式,那将是一个非常

如果我可以用简单的eval 替换 JSON 解析 - 它会使编辑变得非常容易! (并帮助我更轻松地为我的项目设计文档结构)

我的意思是,天哪!它不是一个协议学校,它是一个编辑器的工具。 该工具的目标不是教我协议和评论我的每一个小错误,而是帮助我为软件设计文档。 为什么它必须依赖于严格的 JSON?它不能与对象文字一起生活,并为我们做 JSON.stringify( eval(editor_textarea.value)) 那不是很酷吗?大声笑:D (是的,是的,捕捉错误并反馈给用户)

(对于谁错过了差异 - 它主要存在于属性名称中的引号中。 干燥的严格 JSON 协议总是需要引号,毫无疑问,其中 JS 对象文字仅对不合法的 JS 变量名称的属性名称需要引号,并且还接受不带引号的数字)

严格的干 JSON:

{ "attribute" : "value"
, "mapmap"    : 
    { "map" :
        { "attr" : "sdss" 
        , "123"  : "ss32332"
        , "val"  : 23323
        , "456"  : "ss32332"
        }  
    }
 }

对象字面量

{ attribute: "value"
, mapmap   :
    { map :
        { attr : "sdss"
        , 123  : "ss32332"
        , val  : 23323
        , 456  : "ss32332"
        }
    }
}

嗯,它不会解决我缺少逗号或不匹配的括号,但它确实让生活更轻松,引号是脚手架的重要组成部分。

如果你能指出我可以在哪里改变这个,即使是在蒲团上的补丁,我会非常高兴:)

也许稍后我们可以在其中集成一个编辑器助手,例如 github source-editor 中很酷的一个或 jsfiddle 中的那个,它可以帮助您很好地缩进和着色。 但是让我们从一个简单的 eval 开始。 它会让生活更轻松...... :)

它还可以让我用JS代码生成复杂的文档,无需任何额外的测试软件...

编码愉快:)

附言 如果你知道这里的答案——你可能知道这个问题的答案: couchdb futon document editor - can I customize the indentation rules?

【问题讨论】:

    标签: couchdb customization couchdb-futon


    【解决方案1】:

    我快速浏览了一下,我相信这是您想要添加评估的地方:

    https://github.com/apache/couchdb/blob/master/share/www/script/futon.browse.js#L911

    这里:

    https://github.com/apache/couchdb/blob/master/share/www/script/futon.browse.js#L902

    如果您想查看实时更改,可以编辑本地 couchdb 实例 share/www/script/futon.browse.js。

    【讨论】: