V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
TimG
V2EX  ›  程序员

有没有可视化创建 JSON 配置文件的工具?

  •  
  •   TimG · 6 天前 via Android · 1186 次点击
    做了数据约束检查的程序,使用 json 作为配置文件,做完后领导制定了几百条规则,手写 json 过于痛苦(要写键名、还要检查引号和括号),请问有没有可视化生成 json 配置的工具?我写一下它的配置文件,就能简单约束下在 UI 填写配置项,这样也能把工作分一下给不懂代码的同事。
    24 条回复    2024-12-13 19:00:44 +08:00
    angryfish
        1
    angryfish  
       6 天前
    为啥不用 chatgpi 写?
    ho121
        2
    ho121  
       6 天前
    写 yaml ,然后转成 json
    TimG
        3
    TimG  
    OP
       6 天前 via Android
    补充一下,因为配置项维度超过 2 维了,列表嵌套列表,也想过在 excel 里写好再写代码转成 Python ,但是多维情况下 excel 难以支持,又会成为用分隔符去区分数据,这样跟手写 json 又简单不到哪去了
    COW
        4
    COW  
       6 天前
    TimG
        5
    TimG  
    OP
       6 天前 via Android
    @angryfish 这个确实没想到,谢谢,我试一下
    @ho121 yaml 也要写键名吧,不过确实简单了一些
    Latin
        6
    Latin  
       6 天前
    https://json4u.com/editor
    看下这个符合你需求不
    TimG
        7
    TimG  
    OP
       6 天前 via Android
    @COW
    @Latin
    感谢推荐,我研究一下
    default996
        9
    default996  
       6 天前 via Android
    这种格式转换的,全扔给 ai 处理
    TimG
        10
    TimG  
    OP
       6 天前 via Android
    @COW
    @TimG
    这两个程序都能很好的展示 json 的层级关系,不过对于填写配置文件还不太适合,因为可配置项是确定的,最好能通过配置去约束一下,省掉直接操作 json 键的环节。当然这个也怪我用 json 做配置文件,再次感谢推荐。
    ttOFtnt
        11
    ttOFtnt  
       6 天前
    @Latin 这个好用,解决了我的需求
    noahlias
        12
    noahlias  
       6 天前
    https://github.com/AykutSarac/jsoncrack.com
    但是你这个可以用 json schema 先定义好 就能自己 validate 了
    netnr
        13
    netnr  
       6 天前
    https://github.com/SchemaStore/schemastore

    JSON schema 结合编辑器支持,有智能提示,但不是强约束
    lrh3321
        14
    lrh3321  
       6 天前
    我是用 TypeSpec 写类型约束,然后转成 json schema ,然后再用 ajv 来验证。编辑器哪 code-mirror 套了官方的 json 插件凑合了一下
    sampeng
        15
    sampeng  
       6 天前
    肯定是 excel 来维护的。。json 。。。不懂代码的人懂个锤子的 json 。这些编辑器可视化稍微搞错不懂代码的就抓瞎。
    如果要给不懂代码的来维护就是 excel 。你要设计好数据结构。你完全可以暴露出只变的数据。

    不要完全相信 chatgpt 的数据,他又不一定 100%正确。除非你有校验之类的。

    要给不懂代码的人维护。唯一法则就是把他们当二傻子。把数据拉平,或者多个表格。然后引用之类的。设计一套规则。excel 也是能支持的。逗号分隔那是 csv 。。要不。。用 cursor 。一下午做个 chrome 插件。帮你生成 json 。。
    skallz
        16
    skallz  
       6 天前
    @sampeng 确实,办公唯一指定数据文件就是 excel ,这个比任何乱七八糟的文件格式都要好用,而且没有多少培训成本
    TimG
        17
    TimG  
    OP
       6 天前 via Android
    @noahlias
    @netnr
    @lrh3321
    谢谢,学到一招 json schema

    @sampeng
    谢谢回复,其实如果操作起来方便的话我自己来也行,因为配置里面有维度的,比如规则列表,单个规则里面又有应用规则的字段列表和验证规则所需的字段列表,单个字段列表又包含组成这个字段的数据列表......用 excel 确实很难去搞,要不就二维以上用分隔符去区分,不是说的 csv 。上面大佬说的 json schema 确实是好东西,好像能完成这个工作的程序所用的配置文件已经有了,但是程序本身还在重重迷雾中。我试着用它配合 IDE 试试吧。
    zsh2517
        18
    zsh2517  
       5 天前
    如果真的特别复杂,考虑单独写个程序输入指定数据,输出 JSON 吧。大点的 JSON ,可视化编辑体验并不太好
    TimG
        19
    TimG  
    OP
       5 天前 via Android
    @zsh2517 其实之前也写了不少用 json 做配置文件的小程序,属于是惯犯了,想抄个作业来着哈哈哈
    mcfog
        20
    mcfog  
       5 天前
    传家宝来了,你写 json-schema ,把约束,规则,描述这些写满

    https://json-editor.github.io/json-editor/

    套壳给业务人员填填填
    TimG
        21
    TimG  
    OP
       5 天前 via Android
    @mcfog 妙极了!就是要这种!
    zsh2517
        22
    zsh2517  
       5 天前
    @TimG #19 我之前试过一些 JSON 的可视化工具,感觉用起来也没那么方便,复杂的配置配合 UI 会很长。而且只靠 json schema 不一定能按照自己想法来编辑。效果好一些的话,还是要用程序去生成(或者针对性开发编辑器)。

    比如,对于下面两个数据,最理想的编辑方式都是表格,但是绝大多数 JSON 编辑器,都是按照标准数据结构类型来实现的

    {"Alice": {"english": 100,"math": 90},"Bob": {"english": 85,"math": 95},"Caron": {"english": 92,"math": 88}}

    [{"name": "Alice","english": 100,"math": 90},{"name": "Bob","english": 85,"math": 95},{"name": "Caron","english": 92,"math": 88}]
    zsh2517
        23
    zsh2517  
       5 天前
    @TimG #17 如果不是特别长,可以试试 GPT 。写一份 json schema ,然后配合示例 json (带注释),描述需求,让 GPT 去改,改完走 schema 校验,schema 不过就重新生成,通过后生成 diff 你自己检查一下,GPT 多次失败转人工 call 你自己。这样不懂代码的人完全不用管 JSON 是个啥玩意,就可以用,而你自己人工检查的工作量也要比改配置简单
    zsh2517
        24
    zsh2517  
       5 天前
    @zsh2517 #23 还有就是,不管用啥,二维以上的数据都不好搞,毕竟屏幕是个平面的,要么横要么竖,就俩维度 体验好些就得贴合业务设计表单。比如支持按字段筛选到二维,或者树状嵌套关系(实体类)一层层地展开
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1629 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 16:44 · PVG 00:44 · LAX 08:44 · JFK 11:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.