英文:
ERROR Json-server: SyntaxError: Malformed JSON in file: db.json Unexpected token � in JSON at position
问题
我希望你一切都好。在使用json-server包(^0.17.3)时,我遇到了问题。当我运行命令"json-server --watch db.json"时,它抛出以下错误:
>
> hi!
>
> Loading db.json
> SyntaxError: Malformed JSON in file: db.json
> Unexpected token � in JSON at position 0
> at FileAsync.parse [as deserialize] (<anonymous>)
> at C:\Users\LUIS\AppData\Roaming\npm\node_modules\json-server\node_modules\lowdb\adapters\FileAsync.js:41:35
我尝试重新安装json-server,但错误仍然存在,我想不出其他办法。我提供了我的JSON文件,我已经使用JSON Lint进行了测试,它显示为有效。
{
"Usuario": [
{
"idusuario": 1,
"nombre_usuario": "Nombre Usuario 1",
"clave": "Clave Usuario 1",
"username": "Username Usuario 1"
},
{
"idusuario": 2,
"nombre_usuario": "Nombre Usuario 2",
"clave": "Clave Usuario 2",
"username": "Username Usuario 2"
}
],
"Lista_compras": [
{
"idlista": 1,
"fecha_lista": "Fecha Lista 1",
"nombre_lista": "Nombre Lista 1",
"idusuario": 1
},
{
"idlista": 2,
"fecha_lista": "Fecha Lista 2",
"nombre_lista": "Nombre Lista 2",
"idusuario": 2
}
],
"lista_producto": [
{
"idlista": 1,
"idproducto": 1,
"estado": "Estado Producto 1"
},
{
"idlista": 2,
"idproducto": 2,
"estado": "Estado Producto 2"
}
],
"Producto": [
{
"idproducto": 1,
"nombre_producto": "Nombre Producto 1",
"precio": "Precio Producto 1",
"idproveedor": 1,
"fecha_creacion": "Fecha Creacion Producto 1"
},
{
"idproducto": 2,
"nombre_producto": "Nombre Producto 2",
"precio": "Precio Producto 2",
"idproveedor": 2,
"fecha_creacion": "Fecha Creacion Producto 2"
}
],
"Proveedor": [
{
"idproveedor": 1,
"nombre_proveedor": "Nombre Proveedor 1",
"fecha_creacion": "Fecha Creacion Proveedor 1"
},
{
"idproveedor": 2,
"nombre_proveedor": "Nombre Proveedor 2",
"fecha_creacion": "Fecha Creacion Proveedor 2"
}
]
}
我将在一个使用Vite.js的React应用程序中使用它。我提供这些信息以防可能存在任何兼容性问题。
[更新] 错误是我使用Visual Studio Code创建了JSON文件,并且文本格式添加了无效字符,我在记事本中再次创建并以UTF-8编码保存,它正常工作了c:
英文:
I hope you are doing well. I have a problem while using the json-server package (^0.17.3). When I run the command "json-server --watch db.json", it throws the following error:
>
> hi!
>
> Loading db.json
> SyntaxError: Malformed JSON in file: db.json
> Unexpected token � in JSON at position 0
> at FileAsync.parse [as deserialize] (<anonymous>)
> at C:\Users\LUIS\AppData\Roaming\npm\node_modules\json-server\node_modules\lowdb\adapters\FileAsync.js:41:35
I have tried reinstalling json-server, but the error persists, and I can't think of anything else. I'm providing my JSON file, which I have tested with JSON Lint and it shows as valid.
{ "Usuario": [
{
"idusuario": 1,
"nombre_usuario": "Nombre Usuario 1",
"clave": "Clave Usuario 1",
"username": "Username Usuario 1"
},
{
"idusuario": 2,
"nombre_usuario": "Nombre Usuario 2",
"clave": "Clave Usuario 2",
"username": "Username Usuario 2"
} ], "Lista_compras": [
{
"idlista": 1,
"fecha_lista": "Fecha Lista 1",
"nombre_lista": "Nombre Lista 1",
"idusuario": 1
},
{
"idlista": 2,
"fecha_lista": "Fecha Lista 2",
"nombre_lista": "Nombre Lista 2",
"idusuario": 2
} ], "lista_producto": [
{
"idlista": 1,
"idproducto": 1,
"estado": "Estado Producto 1"
},
{
"idlista": 2,
"idproducto": 2,
"estado": "Estado Producto 2"
} ], "Producto": [
{
"idproducto": 1,
"nombre_producto": "Nombre Producto 1",
"precio": "Precio Producto 1",
"idproveedor": 1,
"fecha_creacion": "Fecha Creacion Producto 1"
},
{
"idproducto": 2,
"nombre_producto": "Nombre Producto 2",
"precio": "Precio Producto 2",
"idproveedor": 2,
"fecha_creacion": "Fecha Creacion Producto 2"
} ], "Proveedor": [
{
"idproveedor": 1,
"nombre_proveedor": "Nombre Proveedor 1",
"fecha_creacion": "Fecha Creacion Proveedor 1"
},
{
"idproveedor": 2,
"nombre_proveedor": "Nombre Proveedor 2",
"fecha_creacion": "Fecha Creacion Proveedor 2"
} ] }
I will use it for a React application with Vite.js. I'm providing this information in case there might be any compatibility issues.
[UPDATE] the error is that I was creating the JSON file with Visual Studio code and the text format was adding invalid characters, I did it again in notepad saving it with UTF-8 encoding and it worked correctly c:
答案1
得分: -1
文件是正确的,问题不在于JSON Server包。我创建了全新的项目,安装了json-server@0.17.3,创建了名为"db.json"的文件,内容与您提供的一样,没有出现错误。以下是一些尝试的方法:
- 检查db.json的路径是否正确。
- 使用管理员权限(或sudo)运行您的终端。
- 如果这些方法都不起作用,请创建新项目,仅安装json-server,然后尝试访问您的db.json。
英文:
File is correct and the problem is not with JSON Server package. I created brand new project, installed json-server@0.17.3, created file "db.json" with the content you provided and got no error. Here are some things to try:
- Check whether path to db.json is correct.
- Run your terminal using administrator rights (or sudo)
- If that won't help, create new project, install only json-server and then try to access your db.json.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论