Im пытаясь разобрать ответ JSON от сервера, используя узел, но его приход через как строку, как это, например:JSON.parse строка - неожиданный маркер
"{name:'hello'}"
Вот как я уже воссоздан точный проблема:
Я попытался replace(/'/g, '"');
удалить одиночные кавычки, и JSON.stringify
, а также бросали в некоторых toString()
Я не могу показаться, что это>. <
.
.
EDIT
Я построил сервер узла, чтобы получить запрос с некоторыми данными, которые затем прокси через другой сервер. Затем я сохраняю некоторую информацию из ответа (тело http) и возвращает другой объект на клиентскую сторону. Heres мой код:
var express = require('express');
var app = express();
var request = require('request');
var bodyParser = require('body-parser');
var mongo = require('mongojs');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: true
}));
app.use('/login', function(req, res) {
request.post(
'http://192.168.1.53',
{ form: { req: 'auth', cid: '1', em: req.body.em, pw: req.body.pw, rm: true} },
function (error, response, body) {
//var body = JSON.parse(body);
if (!error && response.statusCode == 200 && body.success == true) {
user.res = res;
var cookies = response.headers['set-cookie'];
database.createUser(cookies, req.body.em, req.body.pw);
} else if (body.success == false) {
res.json({success: false, error: body.success});
} else {
res.json({success: false, error: error});
}
}
);
});
Недействительно JSON. Это не только одинарные кавычки, «имя» должно быть завернуто в двойные кавычки. Это действительно должно быть исправлено на стороне сервера. Возможно, вы сможете исправить это на стороне клиента, но это будет довольно утомительно. –
Прежде чем попытаться «исправить», вы можете исправить источник плохих данных? Если нет, есть и другие небезопасные способы его устранения. – epascarello
Нет никакого способа исправить это на другом сервере. Я добавлю код node.js, который я использую, который получает ответ http, возможно, что-то на моей стороне я могу исправить, потому что, если я делаю то же самое через консоль с ajax, он возвращается как объект json. –