我试图使用节点解析来自服务器的JSON响应,但是它通过这样的字符串传递,例如:
"{name:'hello'}"
以下是我重新创建确切问题的方法:
我已尝试replace(/'/g, '"');
删除单引号,JSON.stringify
以及投入一些toString()
我似乎无法想出这个>。<
修改
我已经构建了一个节点服务器来接收带有一些数据的请求,然后代理到另一个服务器。然后我从响应中保存一些信息(http主体)并将另一个对象返回给客户端。继承我的代码:
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});
}
}
);
});
答案 0 :(得分:-1)
使用SENCHA Ext.js模块处理JSON,我们可以调用解析json的解码函数。
http://docs.sencha.com/extjs/4.2.2/source/JSON.html#Ext-JSON