На моем локальном компьютере запущен сервер node.js с express. js, и мне нужно декодировать запрос, сделанный клиентом, который содержит строку json. Я запускаю код ниже и получаю следующую ошибку.
SyntaxError: Unexpected token v in JSON at position 2
at JSON.parse (<anonymous>)
at C:\myLocation\source\repos\server\server\server.js:144:19
at Layer.handle [as handle_request] (C:\myLocation\source\repos\server\server\node_modules\express\lib\router\layer.js:95:5)
at trim_prefix (C:\myLocation\source\repos\server\server\node_modules\express\lib\router\index.js:317:13)
Мой запрос
http://localhost: 1337 /% 7B% 22Code% 22:% 22VNdVwY9iWhFZ114CjcDZbY% 22,% 22Chat% 22:% 22Test. txt% 22% 7D
Ожидаемое json равно
{"Code": "VNdVwY9iWhFZ114CjcDZbY", "Chat": "Test.txt" }
Я получаю json, но все равно выдает ту же ошибку.
Мой код:
app.use(function (req, res) {
//console.log(req.url)
var myStr = req.url.replace('/', '')
if (myStr != false) {
let decodeStr = decodeURIComponent(myStr)
var test = JSON.parse(decodeStr)
var json = JSON.stringify(test)
if (json.includes(createkey)) {
console.log("Create: " + json)
createFile(req, res, test)
} else if (json.includes(modKey)) {
console.log("Modify: " + json)
modifyFile(req, res, test)
} else if (json.includes(readFileKey)) {
console.log("Read: " + json)
readFile(req, res, test)
}
} else {
res.sendStatus(404)
console.log("home")
}
})
Почему я получаю ошибку ?
Редактировать 1
Я добавил console.log(decodeStr)
, но все равно получаю ошибку. Возвращает {"Code":"VNdVwY9iWhFZ114CjcDZbY","Chat":"Test.txt"}