如何将一堆 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 文件 然后将关键词相关的内容 返回就行
直接放对象存储上得了。
确实, 不需要数据处理的话用这个就行, 划分数据的话可以拆分文件.
朋友们,我每天坐十几个小时,今年身体开始报警了。有没有通过电脑摄像头识别久坐来警告的解决方案?一定要视觉识别。可以接受付费软硬件,如果有现成的开源库也可以。 yolo 模型 …
最近玩 cursor 有感,很多时候都是不停按 tab 就行了,还发现了我之前代码里面的一个隐藏 bug ,有点震惊。 目前用这个,感觉前端部分 vue 辅助厉害,后台 .N…
手持 find x8 ,导航定位有问题,漂或者提示定位失败,小绿书上也不少人反馈有此问题。。。 把 蓝牙 wlan 辅助定位打开或者关闭了再试试 我的 iPhone 1…