javascript - Json-server 错误:数据必须是对象。需要将 JSON 数组更改为 JSON 对象
问题描述
我无法启动我的 json-server,因为这个REST API:给了我一个 JSON 数组,但我需要一个 JSON 对象来运行 json-server。是否可以使用 JSON 数组运行 json-server,或者我可以构建自己的 db.json?
我试图将 JSON 数组放入 db.json 文件并删除方括号,但因为它是以前的数组,所以逗号给了我一个错误。所以手动更改 db.json 也是不可能的。
npm json-server --port 3001 --watch db.json
触发此错误消息:
错误:数据必须是对象。找到对象 。例如,请参阅https://github.com/typicode/json-server 。
更新: 我只是用花括号将数组包装起来,并像这样向它添加了一个属性:
{ "countries": [{"name": ...
...
}]}
现在我在 db.json 中有一个 JSON 对象,我可以运行 json-server。
解决方案
以防其他人到达这里。假设您有一系列带有其名称的国家/地区,您希望它的形式为
{
"countries": [ {"id": 1, "name": "Narnia"}, {"id":2, "Sacoridia"}, ...]
}
服务器可以模拟多个“表”,因此您可以添加另一行,例如
"cities": [ {"id":1, "country_id": 1, "name":"Cair Paravel", "capital":1},...]
推荐阅读
- git - 如何与其他 git 存储库共享文件夹/文件
- python - AttributeError:“Redis”对象没有属性“pubsub”
- python - Webscraping Google 新闻页面:获取 AttributeError:'NoneType' 对象没有属性 'find_all'
- azure - 如何查看服务主体具有贡献者访问权限的 azure 订阅列表?
- javascript - 捕捉错误films.map 不是 React 中的函数
- jenkins-pipeline - 在詹金斯的集成机器人框架中出现错误驱动程序可执行文件的路径必须由webdriver.chrome.driver系统属性设置
- c++ - 新模板实例化会破坏 ABI 吗?
- kotlin - 我在 kotlin 中有两个字符串列表,如何将第一个列表的每个元素与第二个列表的元素连接到相应的位置?
- eclipse - Eclipse Maven 终端
- jsonata - JSONata 转换脚本,用于获取源代码,并进行一些覆盖/修改