V2EX POST
648 subscribers
138 photos
31 videos
99 files
104K links
v2ex新贴定时推送,可按需置顶本频道然后关闭通知
Download Telegram
请问大家有没有好用的 json 或者 api 文档管理工具

需求:
1. 一定要清晰,清晰,清晰。每个字段的含义可以写详细注释,json 结构不要以表格的形式展示,要以 json 文档的形式展示;
2. 是“文档”管理,不是调试,不需要接口调试的功能;
3. 方便信息共享,最好是像 rap2 那样支持自部署的 web 端,或者客户端工具也可以;

#json #清晰 #文档 #调试 #展示 #rap2 #web #字段 #客户端 #形式
如何给相对路径的 json 文件添加类型定义

我们为了便利性使用 webpack loader 将某些 json 的配置转换为 js 的代码,有没有办法给这个相对路径下的 json 添加 ts 的类型定义呢?加入类型定义是为了让导入的人不会觉得奇怪,为什么这个 json 可以导入一个函数,算是增加代码可读性把。

导入 json 的代码如下,如何才可以给`fn`添加类型定义呢?

```typescript
import { fn } from './some.json'

const v = fn('xxx')
```

我尝试了下面这个方案,但并不行,typescript 好像只能给全局的模块添加,并不能给相对路径添加统一的类型定义。
```typescript
declare module '*/some.json' {
declare const fn: (k: string) => string
export { fn }
}
```

通过添加类型定义文件可以得到类型定义,例如在`some.json`目录下添加`some.json.d.ts`类型定义,在导入的时候就可以得到正确的类型定义了。但这种方法会显得非常的冗余。
各位大佬有没有比较好的可以全局定义方案呢?

#json #类型定义 #fn #添加 #some #导入 #typescript #相对路径 #ts #const
求推荐一个这样的画图插件,web

可以选择上面的标签,下面画图还能重新变化的这种,数据由后端 json 提供

![https://ibb.co/0XKR0nX]( https://ibb.co/0XKR0nX)

#https #ibb #co #0XKR0nX #由后 #json #画图 #标签 #下面 #上面
Pycharme 的格式设置问题

- 问题:会将空格和换行进行自动转译

- 描述:
通过 python 创建的文件名称:0_2022-12-27 00:00:00-2022-12-30 00:00:00_trade.json

- 在命令行中 `vi 0_2022-12-27 00:00:00-2022-12-30 00:00:00_trade.json` 打开是一个空文件,

- 必须使用 `vi 0_2022-12-27\ 00:00:00-2022-12-30\ 00:00:00_trade.json` 才能打开文件

[文件图]( https://cloud.linnaua.com/d/onedriver/pic-go/%E4%BB%A3%E7%A0%811.png?sign=oZ60fvh3tFUmqGWPkIXSXclN7Sk53QsIaA6glacvIpk=:0)
[代码图]( https://cloud.linnaua.com/d/onedriver/pic-go/%E4%BB%A3%E7%A0%811.png?sign=oZ60fvh3tFUmqGWPkIXSXclN7Sk53QsIaA6glacvIpk=:0)

- 有不有大佬知道这是啥情况导致的

#00 #2022 #12 #27 #30 #trade #json #vi #https #cloud
新手请教一个排序问题

一个 list 里有如下内容
```json
[
"Chuang.guan.dong.2008.S01E01.mp4",
"闯关东.Brave.The.Journey.To.Northeast.S01E01.1080p.mp4",
"闯关东.Brave.The.Journey.To.Northeast.S01E01.2160p.mkv",

"Chuang.guan.dong.2008.S01E02.mp4",
"闯关东.Brave.The.Journey.To.Northeast.S01E02.1080p.mp4",
"闯关东.Brave.The.Journey.To.Northeast.S01E02.2160p.mkv",

"Chuang.guan.dong.2008.S01E03.mp4",
"闯关东.Brave.The.Journey.To.Northeast.S01E03.1080p.mp4",
"闯关东.Brave.The.Journey.To.Northeast.S01E03.2160p.mkv"
]
```
如何排序成这样下列这样呢?
```json
[
"Chuang.guan.dong.2008.S01E01.mp4",
"Chuang.guan.dong.2008.S01E02.mp4",
"Chuang.guan.dong.2008.S01E03.mp4",

"闯关东.Brave.The.Journey.To.Northeast.S01E01.1080p.mp4",
"闯关东.Brave.The.Journey.To.Northeast.S01E02.1080p.mp4",
"闯关东.Brave.The.Journey.To.Northeast.S01E03.1080p.mp4",

"闯关东.Brave.The.Journey.To.Northeast.S01E01.2160p.mkv",
"闯关东.Brave.The.Journey.To.Northeast.S01E02.2160p.mkv",
"闯关东.Brave.The.Journey.To.Northeast.S01E03.2160p.mkv"
]
```

#mp4 #Brave #Journey #Northeast #闯关东 #Chuang #guan #dong.2008 #mkv #json
[抽奖送码] Gotcha Rest Client 更新 1.6.0 版本,实现了完整的 API 设计功能。基础功能永久免费,评论抽取 20 个价值 98 元的专业版兑换码。

![img]( https://i.imgur.com/9SlUX0I.png)

经过两个多月的开发,Gotcha Rest Client 实现了完整的 API 设计功能,你可以为请求和响应数据编写对应的 Json Schema ,为每个字段添加注释,约束条件和 XML 配置等信息。

接口文档设计不再依赖调试功能,和**Apifox**不同,文档设计和接口调试功能都可以独立使用。

Postman 、Paw 等工具仅仅实现了对于参数的注释功能,无法支持 Swagger 中的结构体,他们在导入或导出 Swagger 文件时,会丢弃其中的`Component`定义。在 Gotcha 中,你可以编辑并在每个请求中复用定义好的结构体(包括递归调用),并且完整的导入 Swagger 文件中。

如果你在寻找的一个可以轻松设计接口文档的工具,Gotcha Rest Client 将会非常适合你。

- 产品网站: [gotcha.rest]( https://gotcha.rest)
- 问题反馈: [Issue Report]( https://github.com/WhiteCosmos/Gotcha-HTTP-Client-Support)
- 下载地址: [Mac App Store]( https://apps.apple.com/cn/app/gotcha-http-client/id1524200727?l=en&mt=12)

## 和 Postman ,Paw ,Insomnia 这些工具的主要区别

- 全新设计的 URL 编辑器允许你编辑 URL 中的所有参数,抛弃传统的在 URL 栏中直接编辑的方式
- 完整的 API 设计功能,兼容 Swagger/OpenAPI 格式,编辑请求或响应定义,为字段添加约束条件。支持数据结构的复用
- 零代码断言功能,无需编辑断言脚本,支持在响应数据中通过右键菜单直接添加,同时对比期望值与返回值的差异
- 所有操作自动保存,不需要像 Postman 一样每次手动点击保存
- 支持创建多个导出配置,批量导出无需每次手动选择

## 收费方式

- 基础调试功能包括动态变量,导入导出 cURL 等**永久免费使用**
- 专业版功能包括 API 设计和 Json Schema 复用、批量导出可以免费试用 28 天,98 元购买永久升级。

## 1.6.0 版本新增内容

[接口文档设计]

- 增加接口属性编辑,兼容 Swagger/OpenAPI 相关属性
- 增加对 Cookie 参数添加注释
- 所有参数支持修改类型和数据格式
- 所有参数支持添加约束条件,默认值,示例值
- 请求体解除与实际请求的绑定关系,可以自由编辑
- 请求体支持 Json Schema 编辑,为 Json 字段添加注释
- 返回响应支持自由添加,选择状态码和编辑响应名称
- 返回响应支持添加响应头
- 返回响应数据可以选择使用示例或 Json Schema 模式

![img]( https://i.imgur.com/soJjDJ4.png)

![img]( https://i.imgur.com/uWE9q9B.png)

![img]( https://i.imgur.com/fqsEyrw.png)

[动态变量]

- 支持在全局变量、环境变量中使用动态值
- 新增 faker.js 变量,生成多种模拟数据
- 新增 Json 变量,可以在 Form 中编辑 Json 数据

[导入导出]

- 新增 InsomniaV4 、OpenAPI3.0 格式导入
- 支持导入和编辑 Swagger 、OpenAPI 中的 Component
- 支持数据结构的复用,递归引用
- 新增 Swagger 、OpenAPI 格式的导出功能,同时支持修改导出时的项目信息

![img]( https://i.imgur.com/h9JiBdJ.png)

[接口鉴权]

- 支持 Bearer 鉴权功能
[请求数据]
- 请求数据中新增 Binary 类型
- 修复 GraphQL 进入时编辑器显示不正常的问题
[ UI/UX 优化]

- 新增环境变量,Cookie ,数据模型管理的快捷入口
- 支持隐藏侧边栏
- 修改再次打开应用时点击已打开的接口,响应数据显示空白的问题
- 支持修改项目名称和项目描述信息
- 优化部分字体显示效果

## 技术支持

**问题反馈**

[Github]( https://github.com/WhiteCosmos/Gotcha-HTTP-Client-Support)

**微信交流群**

![img]( https://i.imgur.com/WFejLpt.jpg)

**技术支持邮箱**

**support@gotcha.rest**

## 抽奖活动

评论回复即可参与抽奖,活动持续到下周一晚 8 点(2023 年 1 月 9 日),之后在所有楼层中抽取 20 个数字,遇到重复则向下顺延。

抽中的朋友我会 @ 你,请附上 v 站 ID 截图发送邮件到 **support@gotcha.rest** 领取。

兑换方式: 打开 App Store -> 点击左下角账号信息 -> 点击右上角礼品卡页 -> 输入兑换码进行兑换 -> 下载 App

#https #com #Json #Swagger #支持 #img #imgur #导出 #编辑 #响应
JSON 数据中,要将 value 转成特定的值,如何优雅的转换

比如有个这样的 response
```json
{
"examinationStatus":{
"absent":false,
"noAbsent":true
},
"grades":{
"math":90
}
}
```
然后我要返回的数据类型是这样的
```json
{
"isAbsent":false,
"grades":{
"math":"优秀"
}
}
```
现在小组里的代码是将第一个 Json String 转成 map ,然后一堆 if 判断,将值塞到一个对象里去,一百多行了,看起来真的难受,想请教下有没有没有比较好的优化方案

#json #false #grades #math #数据类型 #有个 #response #examinationStatus #absent #noAbsent
2022 推荐的那些开发者工具

dev.com.cn/tools 栏目每周会推荐 1-2 款工具,推荐来源有很多,如 v2er 的推荐,以及其他平台的测评。

以下是 2022 推荐的一些工具汇总,希望可以帮你提高效率,或者可玩性。

- [SketchyBar]( https://github.com/FelixKratz/SketchyBar) - 可编程的 macOS status bar

高度灵活可定制,如字体、颜色、位置、动画等,支持事件,可以根据事件触发布局和条目的变化。

- [lnav]( https://lnav.org/) - 日志文件查看器

可以识别多种日志文件格式,进行解析、语法高亮,可以把多个文件合并在一起查看,支持使用正则、SQL 过滤和查询日志。

- [nut.js]( https://github.com/nut-tree/nut.js) - 自动化测试框架

将一系列动作脚本化--鼠标、键盘、剪贴板、窗口和屏幕内容。支持 macOS 、Windows 和 Linux 。对 UI 自动化测试很有用。

- [sampler]( https://sampler.dev) - Shell command 仪表盘

将连续执行的 shell 命令输出进行可视化,提供图表、折线图等多种可视化组件,通过配置文件可实现如监控提醒、条件执行等功能。可以连接数据库、Docker 、远程 SSH 等。

- [rqlite]( https://github.com/rqlite/rqlite) - 轻量级的分布式数据库

底层使用 SQLite 作为存储引擎,可以轻松的部署分布式集群实现容错和高可用。提供 Go 、Python 、Node 、Java 等语言客户端。使用 Raft 实现数据一致性。支持全文搜索、JSON 文档、加密、热备份。

- [wtfutil]( https://wtfutil.com/) - Terminal 仪表盘

定制化你的终端仪表盘,提供 IP 信息、世界时间、系统信息、充电信息、系统状态、GitHub 等信息集中展示,也可以通过配置实现业务监控,可自定义布局,开源。

- [Hurl]( https://hurl.dev/) - HTTP 测试工具

以`纯文本`的方式定义一系列 HTTP 请求,然后使用命令行 hurl 批量运行,支持请求 headers, query, form and CSRF 等配置,可以通过断言 HTTP Response 来执行测试。

- [ntfy]( https://ntfy.sh/) - 给自己发送推送通知

安装 App 后,可通过 API 给自己的设备发送通知,可定义通知标题、icon 、下一步动作等,在类似运维和提醒场景下非常有用。

- [GoAccess]( https://goaccess.io/) - 实时的日志分析工具

通过可视化 CLI 或 Web UI 分析日志,支持多种格式,如 Apache 、Nginx 、GCS 、Squid 、IIS 、Caddy 等,可以导出为 JSON 或 CSV 。支持实时分析。

- [Saleor]( https://saleor.io/) - 开源的电商 API 系统

良好的架构设计,后端 API 技术栈 Python + GraphQL ,管理控制台使用 TS + React ,扩展性强,Headless 意味着无前台界面。

- [websocketd]( https://github.com/joewalnes/websocketd) - 一切皆可 WebSocket

可将现有任意命令行工具转化 WebSocket server ,然后你就可以用任意语言编写 WebSocket 客户端来与之通信了。

- [SonarLint]( https://www.sonarsource.com/products/sonarlint/) - 代码质量分析

编写代码时提供质量分析,提供 VS Code 、JetBrains 、Eclipse 、Visual Studio 等 IDE 扩展、支持多种语言,可以避免如过时 API 、复杂的定义、无用的 try/catch 分支等,可以用规则文件统一团队质量标准。

- [La Terminal]( https://xibbon.com/) - 手机上的 SSH 终端

适用于 iPhone/iPad 的 SSH 终端,使用 Swift 开发。可以将命令片段保存以便快速执行,内置会话保持、多种主题。让你在家也可以开心的卷。

- [jc]( https://github.com/kellyjonbrazil/jc) - 将命令行输出转为 JSON 格式

可以将多种命令的输出转为 JSON 格式,某些时候很实用。也可以反向将 JSON 转为对应的命令执行。还支持解析如 YAML 、CSV 、/etc/hosts 等多种文件。默认情况下会对输出进行语法着色。

- [exa]( https://the.exa.website/) - ls 替代品

让文件列表显示更友好,提供丰富的色彩,可显示 Git 状态,还可显示不同文件类型 icon 、人类可读的文件大小。自带目录树视图,可以使用 .gitignore 进行过滤。

- [nutsdb]( https://github.com/nutsdb/nutsdb) - K/V 数据库

Go 语言实现,提供类 Redis 的 API ,支持 list ,set 等多种数据结构。底层使用 Bitcask 模型,并使用 B+tree 优化索引。数据可选择纯内存模式或持久化到磁盘,支持事务、使用简单。

- [Remix]( https://remix.run/) - 前端框架

基于 React 的全栈框架,开箱即用。提供前后端一致的开发体验,前后端可以写在一个文件中,逻辑更加内聚。建立在标准 Web API 之上、几乎所有资源都支持并行预加载,速度快。

- [direnv]( https://direnv.net/) - 自动加载环境变量

当 `cd` 进入某个目录时,将自动从目录下 `.envrc` 文件中加载环境变量,`.envrc` 容易编写,类似 export FOO=foo 语句。离开目录时,自动卸载已加载环境变量。

- [just]( https://just.systems/man/zh/) - 命令运行器

使用简单,一定程度上可作为 Makefile 的替代品,`justfile` 语法类似于 Makefile ,但是更简单。可以使用其它语言如 JS, Python, Ruby 来编写脚本。编辑器插件支持 Vim, VS Code, JetBrains 等。可运行在 Windows, Linux, Mac 等平台。

- [Lazygit]( https://github.com/jesseduffield/lazygit) - git terminal UI

一个界面直观的展示常见内容,如更新差异、提交历史、Stash 等。常见操作如提交、查看历史、分支操作,只需要几个快捷键即可完成。默认匹配终端主题,也可以自定义。


2023 年 dev.com.cn/tools 依旧会每周推荐 1-2 款工具,如果你有提升效率类、好玩类的工具也可以跟帖推荐给 v 友。

#https #com #github #可以 #API #支持 #JSON #使用 #日志 #dev
写了一个 JSON 格式化, JSON 互转 XML, JSON 互转 YAML 在线工具。


作为前端,100%逃不开 JSON ,但是 JSON 并不是 javascript ,写法非常严格。我原来发过一个帖子专门讨论过这个问题:

/t/913479

举个例子,比如{hello world:测试 文字},这个是无论如何也通过不了 JSON 标准序列化函数,因为 key 没加双引号,value 也没加,中间还有空格。

但我就是希望这样纯手写,类似于 javascript 的语法,能够正常工作。于是就诞生了这个转换工具。

语法本该自由,不该束手束脚。

https://tool2d.com/#json

https://i.imgur.com/Oge9Y1M.jpeg



- - - - - -- - - - - -

HelloWorld556JSON 转 YAML 》》正向转换 ,错误不给个提醒么


tool2d@HelloWorld556 能给一个错误 json 吗?

想着去最大兼容奇奇怪怪的手写 json 格式,就没做报错了。


xinyana:这种工具挺多吧


privateproxies:有开源的没有 帮我部署一下


jefferyJQ:那如果是{hello : world:123} 还能解析吗


kongkongyzt:现在这种 json 互转,时间戳转换,unicode 转换 很多我都是直接找 chatgpt 了


tool2d@xinyana 是多,但很多都不做不深。

我试了几个 JSON->XML 别的在线工具,第一 json 是有数组概念,而 xml 是单个节点,要完美保留数组结构,并且正反都能互相转换,是需要保留多余结构的。

很多工具一旦转成 xml 格式后,就再也转不回 json 了。


tool2d@kongkongyzt 码农基础三件套,json 格式化,时间戳转换,二维码生成器。我就剩最后一个了,哈哈。


Opportunity:所以这个错误恢复咋做的?我只是把右面窗口内容粘到左面,再点一次正向转换就卡死不动了


tool2d@HelloWorld556
@Opportunity

感谢,修了一个明显的 BUG 。完全没处理解析失败的情况,竟然会导致浏览器卡死-_-



2024-01-06 15:52:08
一个简约 JSON 格式化工具,支持 JSON-Repair 和 AI 修复!


Hey 大家,今天推荐一个超实用的 JSON 格式化网站:**JSON Formatter & Validator**。

核心功能:
1. **格式化与验证**:一键美化 JSON 代码,清晰易读,快速定位语法错误。
2. **JSON-Repair**:自动修复不规范 JSON 数据,省时省力。
3. **AI JSON 修复**:智能分析并重建复杂损坏数据,准确率高。

界面简约,无广告,操作简单,粘贴代码即可用。开发者必备!

🔗 链接:[https://tools.mingxiangzhe.com/]

#JSON #开发工具 #编程
Claude + excalidraw,画出美观的流程图


以前画流程图,是用 AI 生成 `mermaid` 代码。

最近了解了 `excalidraw`,它的文件格式是 `JSON`,这样也很方便 AI 生成。文章可以换新的图了。

例如:
- 使用 claude ,
```
分析 TA 心理咨询的流程,使用`excalidraw`的 json 格式,画出流程图。
```
就会生成 json 代码,复制粘贴到一个文件,`xxx.json`
- 打开网站 https://excalidraw.com/ ,左上角打开,选择刚刚的 `xxx.json` 即可。

如果流程图比较复杂,chatbot 里无法一次生成,可以:“继续”,或者使用 cursor/trae/claude code/gemini cli 等工具。

excalidraw 也支持 React 的组件,可以集成到自己网站,更加方便。

效果:
https://excalidraw.com/#json=g72zMuW4QharbGQ2A1_1w,RXSq73dXvrOiYF8Fu6PM6w