JSONedit是一个简单的JSON编辑器,它提供了文本、树状和列表三种视图方式。这是一个完整的应用程序,以单个可执行文件形式存在,文件大小约为2MB,包括了静态链接的Lua和Scintilla,不需要安装,也不依赖于任何非标准的动态链接库(DLL)。JSONedit的轻量和独立特征使它成为处理和编辑JSON数据的便捷工具。

JSONedit的三种视图方式对于不同用户习惯和需要进行JSON数据处理的情况都有很好的适用性。文本视图允许像处理普通文本文件一样编辑JSON,树状视图提供了一个更直观的界面来展现和编辑结构化数据,而列表视图则让查看数组和对象变得更加方便。用户可以根据个人喜好在这三种视图中自由切换,高效地完成工作。

在实际使用过程中,JSONedit不仅适合开发者,在需要编辑或查看JSON文件时,也适合不懂编程的普通用户。它界面简洁,使用方便,即使没有任何编程背景的用户也能快速上手。此外,JSONedit还支持文本预处理使用Lua脚本,这增加了编辑器的灵活性,可以满足更复杂的编辑需求。

  • 2010年5月12日版本0.1。
  • 2010.06.24 版本0.2。
    • 删除了荒谬的默认 RichEdit 文本长度限制,
    • 从对象树转换为文本时,空数组不再更改为空对象,
    • 添加标准项目(撤消/剪切/复制...)到文本编辑器,
    • 添加复制/粘贴为同级/粘贴为子级到 JSON 树上下文菜单;当使用剪贴板交换数据时使用 JSON 文本格式 - 您可以将表示有效 JSON 对象的任何文本复制到剪贴板并将其粘贴为树节点,
    • 添加了对话框,用于在尝试将子节点添加到数组或对象以外的节点时更改父类型。
  • 2010.07.27 版本0.3。
    • 删除了 cc3270mt.dll 依赖项,
    • 为文本编辑器视图添加了在文本中查找功能。
  • 2010年8月19日版本0.4。
    • 在 ini 文件中存储活动视图(树或文本)选择,
    • F3 = 查找下一个(搜索仍然仅在文本视图中有效),
    • 根分支/对象的名称和类型以及数组项的名称(表示索引,如 [0]、[1]、...)不可编辑,以防止混淆,
    • 在树视图中使用自动更新并编辑整数或浮点值时,如果当前文本为空或只是“-”,则不会更新数据;防止删除以前的文本或尝试输入负数时出现烦人的异常,
    • 加载新结构时会重用树节点 - 如果先前结构中存在相似(比较名称路径)节点,则加载新文件时节点将保持展开并处于相同位置,这在比较两个 JSON 文件时很有帮助,
    • 添加了一些通过“拖放”移动的琐碎节点。
  • 2010.08.30 版本0.5
    • 修复回归:解析具有大项数的数组时会出现巨大的 CPU 使用率,从而引入树重用;此修复不适用于具有大量子对象的对象 - 如果您正在处理大型数据集(几 MB 或更多),您可能需要关闭树重用功能(设置/编辑器),
    • 要打开的文件的名称可以作为命令行参数传递,
    • 设置窗口:添加了将 .json 文件与应用程序关联的按钮,
    • 文件打开/保存的默认目录存储在 ini 文件中,
    • GUI 响应能力改进:在树模式下编辑节点时,文本更新会延迟到需要文本为止,
    • 在树上下文菜单中添加了“全部展开”和“全部折叠”。
  • 2010.09.14 版本 0.6
    • 修复:仅在使用命令行打开文件时更新默认目录,
    • 处理将文件拖放到应用程序窗口的操作,
    • 递归展开/折叠函数的大幅加速,
    • 添加“重新格式化”工具;以相同方式格式化的文件(缩进格式在这里比紧凑格式非常有用)很容易与用于处理纯文本文件的常用工具进行比较或合并(WinMerge,来自 Total Commander 的“按内容比较...”),
    • 添加了输出文本格式的选择(紧凑或缩进);基于树结构生成文本、将树节点复制到剪贴板并重新格式化文本时使用所选格式,
    • 添加了在文本视图中向后搜索的选项,
    • 添加了树内搜索(与节点名称、节点值或两者进行比较);浮点值与 1% 的精度裕度相匹配。
  • 2010.09.18 版本 0.6.1
    • 修复:与 .json 文件关联时写入注册表的命令行参数周围没有引号 - 打开位于名称中带有空格的文件夹中的文件时出现问题;如果您之前已将应用程序与 .json 文件关联,则必须再次使用“关联”按钮来编写新的命令行字符串,
    • 解析新文本时根节点会扩展。
  • 2011.02.28 版本0.7
    • 更改了“拖放”行为:默认操作是复制,如果按下 Shift 键则移动节点;添加了类似于 Windows 资源管理器或 Total Commander 使用的自定义复制/移动光标,
    • 添加了最近使用的文件列表,
    • 添加了文件/新建菜单项,创建空的“根”节点(将文本设置为“{}”);“{}”也被设置为启动时的默认文本,
    • 小修复:在“拖放”时重命名移动节点父子节点(保持数组元素索引文本与实际索引一致),检查复制/移动节点时是否没有重复的节点名称,设置主窗口的最小宽度和高度,设置锚定节点名称/值编辑字段。
  • 2011.05.27 版本0.8
    • 修复:搜索节点值(即“1”)时匹配不正确。与值为 1 的整数类型节点匹配,
    • 在节点上下文菜单中添加了“克隆 N 次”,
    • 添加了简单节点及其子节点统计信息(旨在帮助估计 DOM 解析器的内存使用情况)。
  • 2011.11.05 版本0.8.1,感谢Tito Bouzout的建议
    • 将文件名和目录添加到应用程序标题中,
    • 添加了文件/保存(以前:仅文件/另存为...可用)到菜单,
    • 将字符串值编辑器更改为多行;节点名称仍编辑为单行,
    • 当编辑 int 或 float 节点时,错误的输入(不是数字表示的文本)用红色指示,而不是默认的异常消息,
    • 修复:当节点类型更改为 int/float 并且节点值不是有效数字时,int/float 节点值不正确;如果无效节点值未更正,则回退到先前类型。
  • 2012.03.03 版本 0.8.2 
    • 修复:从树转换为文本时,没有子对象的对象不再更改为空类型,
    • 用户界面清理
      • 从文本编辑器上下文菜单中删除了“解析和更新”;如果每次从文本视图切换到树视图时文本都发生更改,则会解析文本,
      • “节点统计”从上下文菜单移至“工具”,
      • 删除了“更新节点”按钮和“立即更新”复选框,因为它们很可能无用(“立即更新”永远不会被用户取消选中),
    • 新文件(File/New)获取默认名称“New1.json”、“New2.json”等,
    • 添加了有关打开新文件或关闭应用程序时当前文件中未保存更改的警告对话框,
    • 未保存的更改:在编辑器中使用其名称旁边的星号标记已修改的文件,
    • 在“帮助”菜单中添加了 JSON 示例:来自 json.org、miniscope v4/sig_test.dll 配置和 gdata.youtube.com 搜索查询结果的示例。
    • 添加了CSV导入功能(CSV到JSON转换器),
    • 节点名称编辑为多行 - 很可能没有用,但允许测试 CSV 文件的导入,并在引用字段内使用换行符。2012.03.10 版本 
  • 2012.03.15 版本 0.9.1 
    • 修复:打印浮点值时精度降低不可接受(感谢 eyemedia 的报告),
    • 修复:当使用“从剪贴板粘贴为根”人民币菜单选项粘贴不可解析的文本几次时,它会在文本编辑器中相乘。
  • 2012.05.12 版本 0.9.2 
    • 添加了带有 JSONP 回调剥离的简单 HTTP 客户端(感谢 Tielman de Villiers 的建议)。
  • 2012.07.13 版本 0.9.3 
    • 添加了一些快捷键(Ctrl+S、Ctrl+Shift+S、Ctrl+N、Ctrl+O),感谢 Martin 的建议。
  • 2012.08.01 版本 0.9.4 
    • 添加了保留通过剪贴板复制的节点名称的选项(附加 JSON 包装器保存节点名称);默认情况下,复制/粘贴仍然使用纯 JSON 表示节点;感谢彼得的建议。此选项仅限于从 JSONedit 复制或复制到 JSONedit。如果两个 JSONedit 实例用作源和目标,则必须在两个实例中启用它才能正常工作。
  • 2012.08.08 版本 0.9.4.2 
    • 与多显示器环境相关的修复:位置更改为 poOwnerFormCenter, 修改了标准对话框行为;感谢彼得的建议。
  • 2012.08.15 版本 0.9.5 
    • 修复:减小窗口大小时消失的节点类型选择器,
    • 添加使用嵌入式 Lua解释器的数组生成器。
  • 2012.09.09 版本 0.9.6 
    • 将文本编辑器从 TRichEdit 更改为Scintilla - 语法突出显示、代码折叠、大括号匹配、行编号。这是相对较大的变化,因此如果出现问题 - 一如既往 - 尝试以前的版本。
  • 2013.01.21 版本 0.9.6.1 
    • 修复:在文本模式下输入新文本后使用“重新格式化”时,文档内容被恢复。如果视图切换到树,它会被隐藏。感谢 Dan Hersam 的报告。
  • 2013.02.11 版本 0.9.7
  • - 添加对评论的支持(顺便说一下,除非你有很好的理由,否则你不应该使用它)
    • 通过解析器收集评论 - 可配置选项,
    • 在树视图中显示和编辑评论;需要使用带有 // 或 /**/ 的 javascript 风格注释标记,另一方面,行注释和块注释(甚至空行)可以自由混合,
    • 树编辑面板宽度存储在配置中。
  • 2013.03.09 版本 0.9.7.3 
    • 修复:输入错误转义的注释和切换节点后,注释编辑控件颜色不会恢复正常,
    • 修复:解析/验证 JSON:在右括号后发现非白色字符时生成错误(通常是由于文本中间的右括号放错位置),感谢 Toshiyuki 的报告,
    • 按照 Sungwook 的建议,添加了部分字体选择(用于树控件、Scintilla 文本编辑器和编辑控件)。
  • 2013.04.04 添加了ListJson.wlx - 基于 JSONedit 代码的 Total Commander(仅限 32 位)的 JSON 查看器插件。功能集有限,我相信这个插件的使用只能是 Total Commander 快速查看功能(Ctrl+Q)。
  • 2013.05.07 版本 0.9.7.6 
    • 修复:使用命令行和编辑文档的相对路径启动 JSONedit 后,保存功能作为保存显示保存对话框,初始目录与源目录不同(感谢 Michael 的报告);源路径被转换并作为绝对路径存储在历史记录中,
    • 树视图中的 F2 被分配给就地节点重命名(Samuel 的建议),
    • JSON 解析的新选项:将字符串内的控制字符(U+0000 到 U+001F)视为错误(更严格的解析 - 来自 Michael 的建议)。
  • 2013.12.10 版本 0.9.7.8 
    • 当命令行指定的文件不存在时创建新文件,
    • 树视图:分配了 Ctrl+C(复制节点)和 Ctrl+V(粘贴为子节点)快捷键。
  • 2014.03.08 版本 0.9.7.9 
    • 树视图,上下文菜单:添加了(“全部展开”旁边)扩展 1 到 5 个嵌套级别的功能,
    • 帮助:添加了 RFC 7159、RFC 4627 和 RFC 5234 (ABNF) 文本,
    • 修复:以前不允许手动更改根节点类型 - RFC 4627 规定 json 文本可以是对象或数组,更新的 RFC 7159 允许任何类型,
    • 树视图:空值的显示方式与 true/false 相同。
  • 2014.05.24 版本 0.9.7.12 
    • 修复:Ctrl+C/Ctrl+V 快捷键操作现在取决于当前活动的组件,即,它在编辑字段处于活动状态时复制文本,但在树处于活动状态时复制整个节点(感谢 Michael 报告回归),
    • 修复:从文本视图切换到树视图并返回时缺少焦点,
    • Scintilla 插入符号宽度增加至 2 像素。
  • 2014.06.16 版本 0.9.8 
    • 工具:C++ 类生成器(实验)
  • 2014.08.24 版本 0.9.9 
    改进了仅键盘工作流程和一些其他细微调整,感谢加布里埃尔-玛丽兄弟的建议和测试:

    • 配置:添加了在树视图编辑控件中禁用选项卡的选项(使用选项卡移动焦点而不是字符),
    • 添加了用于重新排序数组元素的向上/向下按钮(+将数组元素的“节点名称”替换为“节点索引”),
    • 添加了 *.txt 过滤器来打开和保存对话框,
    • 配置:添加了输入时在编辑控件中选择文本的选项,
    • 在编辑器中禁用 TPageControl 的 TabStop 属性(很可能只是使用 Tab 循环浏览控件时不必要的步骤),
    • 在树视图中为“添加子项”(Ctrl+H) 和“添加兄弟项”(Ctrl+B) 操作分配了快捷方式,
    • 设置:在将应用程序与 *.json 文件关联的按钮旁边添加了“需要管理员权限运行”注释,
    • 调整了“关于”窗口的大小,以获得更好的许可证文本可读性。
  • 2015.07.26 版本 0.9.10
    • 树视图:根据节点的类型着色节点(文本+背景,请参阅添加的新配置页面)
  • 2015.08.30 版本 0.9.11 
    • 数组生成器:将 CSV 导入添加到树上下文菜单(提供 3 种转换样式中的 2 种)
    • 视图/换行(或 Ctrl+W):切换文本视图的换行
    • 如果无法解析打开的文件,则立即切换到文本视图
    • 搜索对话框:提供从文本视图中选择的默认文本或从选定节点中选择的文本
  • 2015.09.16 版本 0.9.11.1 
    • 期待已久的(感谢 Michael Maron、Sean Sherrard、BGM、Todd Matthews、Darwin Sanoy 的建议)保留对象元素顺序的选项(设置/JSON,默认情况下保留旧行为,即对象元素按名称按字母顺序排序)
    • 如果文本已更改,并且从剪贴板将文本粘贴为根后,从文本切换到树后自动扩展根节点
  • 2015.09.17 版本 0.9.12 
    • 如果在默认配置中禁用(保留顺序),则对对象元素进行排序
    • 树视图:用于向上/向下移动对象元素的按钮(仅在禁用排序时可用)
  • 2015.09.21 版本 0.9.13 
    • 已修复:自 0.9.7.8“从剪贴板粘贴为同级”起不再工作(感谢向 Darwin Sanoy 报告)
    • “从剪贴板粘贴为同级”会在选定节点后立即插入新数据,而不是在末尾插入
  • 2015.09.27 版本 0.9.14 
    • 检查源文件的 UTF BOM
      • 在传递给解析器之前跳过 UTF-8 BOM 的选项
      • 由编辑器写入磁盘的文件总是没有 BOM - 似乎在许多应用程序中需要没有 BOM 的 UTF-8
      • 如果文件似乎使用这些编码,则通知不支持 UTF-16 和 UTF-32
    • 树的就地值编辑器 - 分配给 F4 键
      • 与使用 F2 编辑节点名称的补充
      • 使用原始值(字符串、整数、实数、布尔值)
      • 字符串值编辑(与名称编辑相同)主要限于单行文本,即就地编辑器默默地将多行显示为单行,不允许插入换行符(尽管保留现有换行符)
      • 对于布尔值,接受“0”和“1”以及“false”和“true”
    • log:添加了基本操作的执行时间测量(解析和生成 JSON、构建树)
    • 更智能的自动扩展(加载新文本时扩展节点)
      • 新设置,自动扩展的级别数,1(默认,仅根扩展)... 5
      • 如果自动扩展的级别数高于 1,则自动扩展继续递归,但如果可见节点数高于 30,则自动扩展停止
  • 2015.11.08 版本 0.9.15
    • 修复了为高精度浮点值生成的 JSON 不正确的问题(1000000000000000.0、1000000000000000.1 =>“1000000000000000。”)
    • 小修复使双精度因此而不是浮动
    • 使用 64 位有符号和无符号整数(而不是之前使用的 32 位有符号整数)
    • 示例:添加 PaleMoon/FireFox 书签文件(此示例使用 64 位整数)
    • json-cpp 的一些精选更新
    • 设置:新节点的可选(默认:字符串而不是以前使用的 null)类型(添加为子节点/添加为兄弟节点)
    • 设置:为新添加的节点自动激活就地值编辑器(与分配给 F4 相同)的选项
  • 2015.11.18 版本 0.9.15.1 
    • 修复了右侧面板上值编辑中的 uint64 条目(例如 18446744073709551615 = 2^64 - 1)
    • 修复了 sscanf 和具有超过 32 个有效位的负值(仅负值)的问题(显然是 sscanf TC++ 实现中的错误,已测试比较 MinGW 的行为是否正确)(对于 TC++,更多有效位均设置为 1)
    • 修复/恢复了不适合 64 位的输入整数/无符号整数的超出范围指示(即编辑框的红色)
    • 解析/验证文本时更精确的错误位置信息(将光标从解析器错误位置移动到列 - 对于未格式化的无效 JSON 很有用)
  • 2015.12.20 版本 0.9.16 
    • 基于 Scintilla 的 Lua 编辑器(之前与 tSIP 软电话的 Script.dll 插件一起使用)
    • Lua 脚本窗口可从“工具”菜单中使用(除了树上下文菜单中可用的先前数组生成器)
    • 使用 Lua 在树视图中输入的名称/值的可选预处理
  • 2016.01.30 版本 0.9.17 
    • Ctrl+A(全选)适用于节点名称/值/注释编辑框
    • 在节点上下文菜单中添加了“复制节点”(Ctrl+D);适用于数组和对象(需要手动重命名对象子级以消除名称冲突)
  • 2016.04.06 版本 0.9.18 
    • 片段,以 JSON 文件形式存储在“snippets”子目录中
      • 将选定的节点和可选描述存储到文件中以供重复使用
      • 将片段加载到选定的节点中
  • 2016.06.14 版本 0.9.19 
    • 限制 17 到 16 位浮点值的打印精度,以消除解析 + 生成循环后令人讨厌的 25.7 -> 25.699999999999999 转换
    • 更好的统计窗口:允许复制文本,固定值对齐大文件
    • 树视图的搜索对话框允许指定/限制节点类型,例如允许将搜索限制为“0”字符串,忽略所有数值
    • 修复:在树模式下搜索时,数组元素的伪名称(“[0]”、“[1]”等)将被忽略
  • 2016.10.08 版本 0.9.20 
    • 新视图 - 列表 - 专注于过滤和导航 
      • 类似于“查找”对话框的快速过滤
      • 上下文菜单:转到树
      • 基本就地值编辑(Enter 或双击,Enter 接受,Esc 中止)
  • 2016.12.17 版本 0.9.21 
    • 修复:展开全部/展开 # 级树后,滚动到最后展开的节点 - 通常看似随机的位置
    • 修复:滚动列表视图中包含大量项目的数组速度很慢
    • 修复:例如滚动时列表视图闪烁(双缓冲)
    • 添加了列表视图的字体选择
    • 节点(背景+字体)着色也适用于列表视图,与树视图共享设置
    • 列表视图:显示过滤后的节点数和总节点数
    • 工具菜单:将列表视图的内容导出为 CSV
    • 添加了启动时自动加载最后一个文件的选项
  • 2017.02.11 版本 0.9.22 
    • 工具菜单:实验性的、非常轻松的伪 JSON 解析器、原型结构的替代方法,以便进一步粘贴到主编辑器中
    • 修复:JSON 文本视图没有大括号匹配(自 0.9.16 以来错误选择了 Lua 荧光笔)
    • 修复:在树视图中重新加载文档且未选择任何节点时,编辑面板未更新(显示文档中的静态值);现在默认选择根节点
    • 修复:如果使用拖放加载文件,则文件打开对话框的默认目录不会更新
  • 2017.04.22 版本 0.9.23 
    • 在主窗口和 Lua 脚本窗口的 MRU 列表中添加了“删除过时的文件”和“清除列表”项
    • 添加了双击时编辑就地树节点值的选项(如使用 F4)
    • 可以从列表视图中删除节点
    • 添加了轻松解析器工具的字体选择
    • 修复了宽松解析器工具中的空数组处理
    • 修复了节点编辑面板状态不一致的问题(在切换到文本视图、编辑和切换回后选择新节点之前显示旧值)
    • 删除根节点会将其重置为空对象(如果在树为空时切换到列表视图,还修复了“无效索引”)
  • 2017.06.09 版本 0.9.24 
    • 添加了生成的 JSON 文本的缩进字符串(例如 4 个空格或单个制表符,但可以使用任何字符串)设置;当前(3 个空格)保留为默认值
    • 修复了宽松解析器工具中的空对象处理(以下文本被忽略)
    • 列表显示:
      • 多选
      • 复制/粘贴(弹出菜单 + Ctrl+C/Ctrl+V)原始值
      • 复制/粘贴节点名称(仅限弹出菜单)
      • 添加了用于选择节点类型的弹出菜单:选择全部/无/反转
      • 添加了“如果父级匹配则添加子级”过滤选项
    • 修复了当第二个节点的类型与第一个节点的类型不同时从具有重复节点名称的树生成 JSON 文本时发生的崩溃
    • CSV 导入对话框:窗口大小更改为固定
  • 2017.08.20 版本 0.9.25 
    • 列表视图中的“添加节点”上下文菜单功能;适用于多选
      • 将新节点作为子节点或兄弟节点添加到选定节点
      • 直接添加原始节点类型或 JSON 的选项(对于对象、数组或复杂结构)
      • 如果需要,用于将父节点更改为对象或数组的对话框
    • 在树视图和列表视图的上下文菜单中添加了节点排序功能;根据 ASCII/ANSI 顺序排序(区分大小写/不区分大小写)和递归排序的设置;此函数旨在与设置保留节点顺序一起使用(默认,而不是通过 JSON 解析器/生成器进行节点排序)
    • 将设置格式更改为 JSON;如果未找到新的 (.cfg) 文件,应用程序将导入旧的配置 (.ini) 文件;注意:从正在运行的应用程序实例编辑自己的设置将不起作用,因为关闭应用程序时设置将被覆盖
    • 在树视图中添加了“删除节点之前的所有同级”
    • 例如,如果文件包含超过 20000 个节点,则在键入过滤文本时延迟列表视图刷新,以防止键入打嗝
    • 修复:打开 Lua 脚本窗口正在更改应用程序标题
    • 修复:使用空格键或上下文菜单在列表视图中更改节点类型选择不会立即更新过滤器
  • 2017.10.21 版本 0.9.26 
    • 添加了将对象中的名称与值分开的字符串设置(默认值:“:”);与缩进字符串一起,这应该可以减少使用 JSONedit 编辑的文件的 VCS 增量
    • 修复:如果缩进字符串的最后一个字符不是空格(例如使用单个制表符),则生成的 JSON 包含额外的换行符
    • 将 Lua 更新到版本 5.3(如 tSIP 中)并添加了一些自定义 Lua 函数
    • 添加了 Lua 事件机制(基本上是从 tSIP 复制的),目前有一个“on file save”事件,目的是进行额外的格式化/后处理
    • 新设置(“JSON”设置选项卡,选择退出):保存时将文本验证为 JSON(仅适用于编辑为文本,防止意外保存无效 JSON)
    • 添加了新的菜单项:文件/打开当前文件目录
    • 工具:添加了 JSON 流查看器(换行符分隔的 JSON 值:NDJSON/LDJSON/JSONL 格式)
    • 修改后的设置窗口(左侧类别)
  • 2017.12.16 版本 0.9.27 
    • 修复:即使在 JSON 设置中选择了“保留顺序”,CSV 导入生成的 JSON 的名称也按字母顺序排序
    • 大多数窗口现在可以使用 Esc 关闭
    • C++ 类生成器和宽松 JSON 解析器窗口的默认位置更改为在主窗口上居中
    • 列表视图:添加了“选择所有兄弟节点”、“选择所有子节点”(将子节点添加到选择中)和“删除当前选择后选择所有子节点”(仅选择当前选定节点的子节点)
    • 列表视图:“添加节点”上下文菜单项分为添加为子节点和添加为兄弟节点
    • 列表视图:使用与添加节点相同的对话框添加了“替换/修改节点”
    • Lua:添加了 GetText() 函数,返回整个文档
    • Lua:添加了“文件打开”事件
    • 帮助:添加了 RFC7493(I-JSON/互操作性)和 RFC8259(2017 年 12 月更新 RFC7159)
  • 2018.02.16 版本 0.9.28 
    • 修复:切换到列表模式、切换到树模式、删除节点并切换回列表模式后崩溃
    • JSONL/LDJSON/NDJSON 阅读器窗口可以将整个文件解释为数组并将其作为单个 JSON 加载(假设文件不是太大)
    • 所选数组可以导出为 JSONL/LDJSON/NDJSON(工具菜单)
    • “节点统计”也适用于在列表视图中选择的节点(采用第一个选择的节点)
    • 修复:节点统计信息错误地将所选节点始终分类为命名节点
    • 存储和加载片段也可以在列表模式下工作(获取第一个选定的节点)
    • Scintilla:添加了 JSON 词法分析器(键和值的不同颜色,红色的无效语法,还有链接的下划线);先前的词法分析器 (C++) 保留为默认值(设置/文本视图)
    • 修复:在某些情况下,带有行号的文本窗口的边距宽度计算不正确(例如,加载 Palemoon 书签示例并在下面复制四次后)
    • 列表视图:显示对象和数组的子级数量
    • 列表视图:添加 Ctrl+T 作为“转到树”的快捷方式
  • 2018.04.15 版本 0.9.29 
    • 添加了 tSIP 中的热键机制 - 将组合键绑定到指定的操作
      • 动作:运行Lua脚本
      • 操作:在紧凑和格式化 JSON 模式之间切换并重新格式化
    • 添加了 Lua 函数 OpenNdjsonViewer() 和 LoadNdjsonFile(filename)
    • 添加Lua脚本示例(Lua脚本窗口的帮助菜单,可以另存为单独的文件,然后通过热键执行)
      • 使用curl和摘要身份验证获取/加载HTTP内容
      • 使用curl从HTTP获取/加载NDJSON
    • Lua 脚本窗口现在不是模态的(克隆节点功能除外);可以同时打开多个窗口
    • 列表视图:添加了“展开树以显示选定节点”菜单项 - 显示选定节点的更多上下文
    • 添加了文件/启动新应用程序实例菜单项
    • 工具:查找重复值(从列表视图)
    • 设置:为树视图和列表视图添加了两个颜色模板(颜色几乎是随机的)和具有默认/系统颜色的模板
    • 列表视图中的 Ctrl+F 将焦点移至过滤器编辑控件
    • 添加“从剪贴板粘贴文本”到 NDJSON 查看器
  • 2018.06.17 版本 0.9.30 
    • 更多文本直接在 NDJSON 查看器中可见(每行最多 400 个字符)
    • 显示 NDJSON 行的 ID(从 0 开始的顺序)
    • 添加:文件/重新加载和等效的热键操作类型
    • 检查磁盘上的文件是否已更改(选择加入),并带有自动重新加载的选项;可能与“重用树”选项配合使用效果最好
    • 二:
      • 添加了 SetViewType(type) 函数,其中 type = 0 表示文本,1 表示树,2 表示列表视图;在视图切换通常被阻止(脚本化数组生成器)的情况下使用时要小心,因为它可能会破坏一致性
      • 添加了“启动时”和“计时器”脚本事件
      • 修复:如果在列表视图处于活动状态时使用 SetJsonAsRoot(),则不会立即更新视图,并且可能会崩溃
    • 重复值搜索对话框可以将结果导出为 CSV
    • 默认配置:自动扩展的级别数从 1 增加到 3
    • 增加了级别的配置限制,自动从 5 级扩展到 10 级
    • 添加了热键操作:
      • “expand: default” - 扩展节点的方式与加载新 JSON 后的方式相同(大致 - 填充不超过一个屏幕)
      • 展开全部
      • 全部收缩
    • 搜索对话框:显示窗口时选择先前输入的文本(或活动节点中的文本)
  • 2018.10.17 版本 0.9.31
    • 修复:如果确认通过树中的内联编辑 (F4) 进行的更改 - 显示的节点文本缺少节点名称
    • 修复:如果在树或列表模式下使用内联编辑器时按下删除键 - 整个节点被删除
    • 修复:Ctrl+C/Ctrl+V 现在可以在列表视图中的内联编辑器和过滤器字段中工作
    • 请求将树视图和列表视图的父类型更改为对象/数组的对话框可以使用 Esc 关闭
    • JSON 编写器:将双精度数的打印精度从 16 位降低到 15 位(例如值 = 79.9 时往返失败)
    • 添加了 UTF-8 到 ANSI 转换(文件加载)和 ANSI 到 UTF-8(文件保存)的选项 - 这对于编辑字符仅限于当前 Windows 代码页(即单一语言)的 UTF-8 文件有效
    • 如果使用 UTF-8 到 ANSI 转换选项,则添加将 \uXXXX UTF 代码点解码为 ANSI
    • 添加了将滚动条添加到节点值编辑字段的选项
    • 在控制组之间添加了分隔符,用于编辑节点值和编辑节点注释
  • 2019.03.21 版本 0.9.32
    • 为树视图和列表视图添加了更多颜色设置和“深色”模板,为文本视图添加了“深色”配色方案(C++ 和 JSON 词法分析器)
      (也:list、text)
    • 更多节点统计:最大嵌套层数、最大字符串值长度、最大名称(键)长度
    • 将 tSIP 配置文件添加到示例中
    • 更改了 tSIP 中使用的日志窗口
    • 添加了 Lua 备忘单 - 如 tSIP 中所示
    • 添加了Lua ReloadFile(evenIfNotSaved)函数;如果 EvenIfNotSaved 参数等于 0,则在编辑器内修改文件时会显示对话框
    • 修复:“监视磁盘上文件的更改”/“静默更新文件”的子选项“即使文件在编辑器内被修改”不起作用
    • 为 NDJSON 查看器添加了 MRU 文件列表
    • Lua 脚本和 NDJSON 查看器窗口通过拖放接受文件
    • 添加Lua示例:使用curl进行FTP上传
    • “添加节点作为同级”树上下文菜单选项在选择后立即添加节点(与“复制节点”相同)
    • CSV 导入对话框设置存储在配置文件中
    • 浮点值作为字符串保存,允许保留例如尾随零
  • 2019.06.08 版本 0.9.32.2 
    • 修复:0.9.32 树视图中值编辑颜色的问题在切换节点或验证浮点值后始终重置为默认值
    • 修复:0.9.32 在使用“.”之外的其他小数分隔符的区域设置的系统上编辑浮点值时出现问题;为了保持一致性,点现在始终用作小数分隔符
    • 添加了以 JSONPath 点符号或方括号符号的形式复制节点路径(树视图和列表视图)的选项
    • 添加了注释编辑提示,解释需要 // 或 /* */ 注释标记
  • 2019.10.30 版本 0.9.33 
      • 用于指定最多 3 个首选子节点名称的选项(例如 ID、描述...)
      • 仅使用名称来自首选集合的子节点的选项树视图:添加了对对象节点使用扩展描述的设置,并将某些子节点的值添加到父节点标题中;这可能有助于区分数组节点而不扩展它们
    • 树视图:新的选择加入功能:导航面板显示树中的当前位置并允许跳转到父/祖父母/等。
    • 树视图:添加了指定自动/默认展开后可见节点的最大数量的设置(以前:固定为 30)
    • 修复:在列表视图中添加新节点的对话框在默认节点名称中包含额外的换行符
    • 文件菜单:添加“复制到剪贴板”->“完整文件路径”/“文件名”
  • 2020.08.26 版本 0.9.34 
    • 树视图上下文菜单:添加了选项“复制为紧凑 JSON”(如果在设置中将格式设置为“样式”或使用“命名对象复制”则可见)和“复制为样式 JSON”(如果格式设置为“紧凑”则可见) “在设置中)
    • 片段数量从 10 个增加到 20 个
    • 片段:添加了将片段复制到剪贴板的选项
    • snippets:添加了更改片段名称(描述)的选项
    • 设置窗口:将 .json 文件与应用程序关联的按钮的附加说明
    • 列表视图:列宽存储在设置中;范围限制为 50...2000
    • 更改了“克隆节点”对话框:默认编号 = 1,编号可以从列表中选择或手动输入
    • 修复:宽松的 JSON 解析器和基于 CSV 的数组生成器对浮点值的错误处理;自 0.9.32 起,当这些值更改为以字符串形式保存时,该问题就被破坏了
    • 列表视图:如果未选中“全文” - 数字也通过子字符串匹配
  • 2020.10.28 版本 0.9.35 
    • 文本视图:添加选项以禁用大括号匹配(突出显示)
    • 如果文本无法以“常规”方式格式化,则使用基于流的格式化,因为它不是有效的 JSON
    • 添加了 tSIP 按钮配置 JSON 示例
    • 用于对象数组的新子编辑器
      • 表格视图,其中的列对应于对象元素的名称;对于不是对象的数组元素显示 <N/A>
      • 双击或[Enter]单元格开始编辑
      • [Enter]、[向上]/[向下]或选择另一个单元格确认编辑,[Esc]中止编辑
      • 当使用编辑器模式时,可能会推荐“重用树”选项
      • 设置在编辑时保留先前的节点类型或自动确定类型(例如使用 F4 热键的内联树值编辑器)
      • 目前不处理嵌套对象和数组(仅显示值类型,尽管如果选择“自动节点类型”,则可以将其更改为简单值)
      • 使用配置中相同的颜色(现在命名为“节点颜色”)作为树视图和列表视图
      • 新的热键类型:显示数组编辑器
    • 树形上下文菜单:“数组生成器”重命名为“数组工具”,保留以前的数组生成器工具和新添加的子编辑器
  • 2020.12.30 版本 
    • 热键设置:操作类型组合框的宽度根据所选类型而变化(对于脚本以外的类型更宽)
    • 删除了用于将同级和子级添加到树视图中的节点的默认快捷键/热键;这些快捷方式现在可以选择加入并可配置
    • 在热键配置中添加了新的操作类型:在树视图中添加同级节点和子节点
    • 修复了基本节点值编辑面板和(可选)节点注释编辑面板之间的 Tab 键顺序
    • 添加新节点同级/子节点名称(或数组元素的节点文本值)后获得焦点
    • 更改了 Lua AddNodeAsSibling 函数 - 函数现在采用两个参数,节点名称(如果适用)和值 - JSON 文本(以前:在值上,节点名称始终是默认的“<add name>”文本)
    • Lua AddNodeAsSibling(name, value) 在选定节点之后插入新节点,而不是在末尾
    • Lua 脚本窗口:添加了 AddNodeAsSibling 示例以提供帮助
    • 树编辑器设置:添加了选择哪个操作将使用 Ctrl+V 快捷键(粘贴为子项或粘贴为同级)
    • 在热键配置中添加了新的操作类型:作为同级和子级粘贴到树中
    • 在热键配置中添加了新的操作类型:更改树视图中的节点类型
    • 添加了 Lua BringToFront() 函数 - 在由全局热键启动的脚本中使用,例如与使用curl获取文件相结合
    • 修复了在热键配置中输入脚本文件名时键盘处理的问题
    • 添加了 luacheck 集成到 Lua 编辑器窗口(如 tSIP 中)
  • 2021.03.18 版本 0.9.37 
    • 添加了对从剪贴板粘贴的文本使用宽松解析器的选项(“JSON”设置选项卡)
    • 修复了删除或重新排序数组元素后扩展对象节点描述从视图中消失的问题
    • 树视图:默认情况下聚焦主面板而不是编辑器
    • 添加“剪切节点”/Ctrl+X 到树视图
    • 文件关联:将“JSONedit File”名称更改为“JSON File”
    • 来自 YoYoK3nny 的新的、更高分辨率的图标;与文件关联的单独图标
    • 宽松的解析器还接受用单引号引用的字符串(就像在 JavaScript 中一样)
    • 在树上下文菜单中添加了“使用可选键引用复制节点”(以类似 javascript 的样式进行复制,如果不需要,则在对象键周围不加引号)
    • 整理树视图弹出菜单 - 添加了弹出菜单可见性的新设置,默认配置隐藏了一些较少使用的项目和最新项目,但可以手动启用
    • 更改了树视图弹出菜单中项目的顺序
    • 添加了“Wrap”->“in object”/“in array”到树形弹出菜单(选择加入菜单项)
    • 显示树弹出菜单时检查剪贴板是否具有“从剪贴板粘贴为根”功能的文本
    • NDJSON 查看器:修复了粘贴功能并移至“编辑”菜单
    • NDJSON 查看器:添加了“将当前内容作为数组加载到主编辑器窗口”功能
    • 修复了减小窗口高度时真/假值编辑器组合框消失的问题
    • 修复了列表视图中“删除节点”快捷方式不一致的问题
    • 修复了脚本编辑器窗口中的常见热键 (Ctrl+C/Ctrl+V/...) 工作不正确(从树视图执行操作)
  • 2021.10.12 版本 0.9.38 
    • 树/文本搜索对话框现在是模态的
    • 搜索对话框的新设置:始终位于顶部、透明度级别、停用时的透明度
    • 将树上下文菜单项的默认显示/隐藏设置从选择加入更改为选择退出
    • 新功能:工具/将节点复制为 C 文字(文本到类似 C 的字符串转换)
    • 在宽松的解析器窗口中添加了“重新格式化”按钮
  • 2022.03.15 版本 0.9.39 
    • 添加了一些 jsoncons 工具(使用JSONedit_jsoncons.dll,二进制文件包含在主 zip 中)
      • JSONPath评估
      • JMES路径评估
      • JSON 合并补丁
      • JSON 补丁
    • 进行一些重构,以便更轻松地管理多个编辑器组件和 MRU 列表
  • 2023.02.18 版本 0.9.40 
    • 修复:如果选择了树节点重用选项,列表视图中的“替换/修改节点”会导致对象子项消失而不是被替换
    • 修复:使用内联编辑器从列表视图编辑节点可能会同时更改树视图中当前选择的节点
    • 工具/JSON 架构(使用 JSONedit_jsoncons.dll)
      • 带有典型文件菜单、MRU 列表、接受拖放文件的单独架构窗口
      • 使用 JSON Schema 草案 7 验证文档
      • 验证结果列表,包含关键字名称、文档中的位置和消息
      • 架构树视图中的额外上下文菜单项用于设置/更改类型和插入常见 JSON 架构关键字
    • 从“将节点复制为 C 文字”生成的文本中删除了不必要的尾随换行符
    • Settings/JSON:为“复制节点路径”功能使用 JsonCpp 表达式格式的选项
    • C++ 类生成器的一些修复
    • 新的热键操作类型:
      • 显示工具/JSON 架构窗口
      • 使用工具/架构进行验证
  • 2023.08.26 版本 0.9.41
  •  复制全局热键的修复
    • 修复了在启用“树重用”选项的情况下重新加载文件时可能出现的错误数组元素排序问题
    • 修复了如果 JSON 设置为保留对象元素顺序并启用“树重用”选项,则重新加载文件时可能出现的错误对象元素排序;在某些情况下这可能会使重新加载速度变慢
    • Lua 编辑器/帮助:添加了自定义 Lua 函数列表(基于工厂的模式,如 tSIP 或 VideoPlayerMpv)
    • 延迟创建一些工具窗口,直到第一次需要它们为止
    • NDJSON 查看器:添加了文件/重新加载菜单项
    • 添加了新的热键操作类型:将文档按格式和紧凑文本复制到剪贴板
    • 从使用紧凑格式生成的 JSON 中删除了不必要的尾随换行符
  • 2024.02.19 版本 0.9.42
    • 添加了修改某些菜单快捷方式的选项(允许将它们重新定义为用户热键)
    • 如果使用了扩展节点描述选项,则修复了添加/删除元素后重命名树上的数组元素的问题
    • 添加了新设置“JSON”/“发出原始 UTF-8 字符(而不是转义为十六进制代码)”,默认启用 - 保持向后兼容性
    • 添加了新的热键类型:获取节点路径(树或列表)
    • 添加了新设置“JSON”/“始终在生成的 JSON 中将数组写入为多行”
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。