有没有可视化创建 JSON 配置文件的工具? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
TimG
V2EX    程序员

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

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

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

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

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

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

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

    套壳给业务人员填填填
    TimG
        21
    TimG  
    OP
       300 天前 via Android
    @mcfog 妙极了!就是要这种!
    zsh2517
        22
    zsh2517  
       300 天前
    @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  
       300 天前
    @TimG #17 如果不是特别长,可以试试 GPT 。写一份 json schema ,然后配合示例 json (带注释),描述需求,让 GPT 去改,改完走 schema 校验,schema 不过就重新生成,通过后生成 diff 你自己检查一下,GPT 多次失败转人工 call 你自己。这样不懂代码的人完全不用管 JSON 是个啥玩意,就可以用,而你自己人工检查的工作量也要比改配置简单
    zsh2517
        24
    zsh2517  
       300 天前
    @zsh2517 #23 还有就是,不管用啥,二维以上的数据都不好搞,毕竟屏幕是个平面的,要么横要么竖,就俩维度 体验好些就得贴合业务设计表单。比如支持按字段筛选到二维,或者树状嵌套关系(实体类)一层层地展开
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     859 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 116ms UTC 21:36 PVG 05:36 LAX 14:36 JFK 17:36
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86