首页 > 解决方案 > 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。

标签: javascriptjsonrestjson-server

解决方案


以防其他人到达这里。假设您有一系列带有其名称的国家/地区,您希望它的形式为

{ 
    "countries": [ {"id": 1, "name": "Narnia"}, {"id":2, "Sacoridia"}, ...]
}

服务器可以模拟多个“表”,因此您可以添加另一行,例如

    "cities": [ {"id":1, "country_id": 1, "name":"Cair Paravel", "capital":1},...]

推荐阅读