如何将一堆 json 文件变成 API 用于接口访问?
我想到的方法,各位看看对不对:
1.先根据 json 内容进行建表
2.将 json 导入数据库
3.写后端代码
4.写接口
那么问题来了,我不会写代码,怎么办?
有没有什么学习路径或者有 AI 工具帮助做这个项目?
试试 json-server
json to graphql ?
最近刚好做过类似的东西,简单说下:
- 用 FastAPI 和 Python 搭建简单的脚手架,用户以 JSONArray 的形式传入 文件名
- 接口接收到文件名后从某个硬盘目录上去查找对应的 "文件名.json" 文件
- Python 可以直接用 import json 包来解析文件成为 dict ,这一步也算是用来验证 json 的格式是否合法或者做一些校验
- 将 dict 转化成 string 作为 body 和 200 状态码返回就行了
- 用 docker 和 python 的镜像打包成 .tar 文件发送到你的云服务器
- 云服务器 sudo docker load -i XXXX.tar 镜像,然后用 docker compose 配置端口映射到本地的 8000 并启动
用 Nginx 配置当访问 /api/ 路径的时候,倒向本机的 8000 端口
用 Python 的 fast-api 吧,入门很简单。代码多少得会写一点,不然错了都不好排查。
整个流程还要配置域名、防火墙、http 自带加密和后台校验、json 文件和日志的定期备份啥的。我是自己要开发一个应用的后台所以需要自己处理这一整套的东西。
但是如果你不需要逻辑,只是要纯粹可以让客户端可以访问到服务器上的 json 数据的话,我个人觉得最简单的办法就是直接用 Nginx 管理静态的 json 文件数据。甚至数据不敏感而且并不怎么重要的话,你直接扔 gitee 或者 github 上然后有个 Raw 按钮,点击就可以直接下载了。
丢 oss 、直链请求
放 github ,直连
说真的。。。哥们你顶着这个头像问怎么 json 转 api 我还以为是什么数据库在打广告才点进来看的。。。
结果你是真的不会写?github.com/typicode/json-server
不需要数据处理的话,直接丢 nginx ,然后请求链接
啊,有这么麻烦吗,去到目录里面执行
python -m http.server 不就好了随便找一个在线 mock 的网站
直接 python 建个文件访问 直接读取
谢谢楼上各位
下面是一个我的示例 json
{
"status": {
"code": 200,
"messages": [
"Success."
]
},
"data": [
{
"articleId": 0,
"articleSub": 0,
"freightGroupId": 83900,
"issueDate": "0001-01-01T00:00:00",
"effectiveDate": "0001-01-01T00:00:00",
"hazard": false,
"articleNotes": [],
"articles": [
{
"articleId": 83980,
"articleSub": 0,
"freightGroupId": 83900,
"class": "100",
"description": "Billiard or Pocket Billiard (Pool) Tables, with other than stone or slate slabs (beds), KD, or with legs folded to underside of table top, see Notes, items 83982 and 83984, in boxes, crates or Package 1317",
"issueDate": "0001-01-01T00:00:00Z",
"effectiveDate": "0001-01-01T00:00:00Z",
"hazard": false,
"articleNotes": [
{
"noteReferenceId": 83982,
"text": "NOTE-With each table there may be included not more than four cues and the equipment necessary for playing."
}
],
"articles": []
},
{
"articleId": 83995,
"articleSub": 0,
"freightGroupId": 83900,
"class": "77.5",
"description": "Bubble Forming Compounds, plastic, see Note, item 83996, in boxes",
"issueDate": "0001-01-01T00:00:00Z",
"effectiveDate": "0001-01-01T00:00:00Z",
"hazard": false,
"articleNotes": [
{
"noteReferenceId": 83996,
"text": "NOTE-One blowing tube may be included for each inner container."
}
],
"articles": []
},
{
"articleId": 84060,
"articleSub": 0,
"freightGroupId": 83900,
"class": "85",
"description": "Dart Games, consisting of steel tipped darts and targets, in boxes",
"issueDate": "0001-01-01T00:00:00Z",
"effectiveDate": "0001-01-01T00:00:00Z",
"hazard": false,
"articleNotes": [],
"articles": []
}
]
}
]
}谢谢 我去研究下
昨天我也看了 fastAPI 还在尝试中
不需要那么复杂 其实就是为了让别人通过关键词 搜索所有的 json 文件 然后将关键词相关的内容 返回就行
直接放对象存储上得了。
确实, 不需要数据处理的话用这个就行, 划分数据的话可以拆分文件.
忍不住想起它 想起它骨子里的自由,放荡,甚至危险 我害怕却又兴奋 它没有边界感,但它的指针能带我去别人根本想象不了的环境 它给不了安全感,但它跑起来永远是最快最轻松的 它的世界…
最近也想组个 NAS 玩玩,主要是用来做数据仓库。陆陆续续的看了好多,发现凡是跟 NAS 沾边的配件都比普通 PC 高出一大截,尤其是机箱,贵不说,还大多都是近乎正立方体造型。…
除了应付工作的开发和爬虫工作,还想自己私下开发游戏项目,每天都在学但是学不过来,是我学习速度太慢了吗,有同样困扰的人吗。 甚至还在恶补大量的上学时候没学好的基础知识。 …
合速度