我从我的响应对象中获取了一个JSON,所以我这样做:
double a = Double.NaN;
Scanner reads = new Scanner(System.in);
System.out.println("General equation: \"ax^2 + bx + c\"");
System.out.print("Enter value of \"a\": ");
try {
String doubleString = reads.nextLine();
a = Double.parseDouble(doubleString);
}
catch (Exception e) {
System.out.println("Invalid Data Type. Please enter a number");
}
if(Double.isNaN(a)){
System.out.println("Variable 'a' is invalid, please enter a valid number.");
}
else {
double result = 2 * a;
}
我打印JSON并返回JSON。但是当我在var json = JSON.parse(res.text);
中检索值时,它会出现此错误:
json.body.value.total
我不知道为什么。我粘贴了从var json接收并打印在控制台上的值,并且能够检索总数。但我不能通过代码来做到这一点。总共有一个JSON值。它只是无法识别。在控制台上,它可以工作,但在代码中不起作用。
我从使用Uncaught TypeError: Cannot read property 'total' of undefined
检索的响应对象中获取JSON。我认为它需要在可解析对象中进行更改,但它返回的只是response.text
undefined
答案 0 :(得分:1)
我构建的var eventEmitter = require('event-emitter')
var childStart = require('./someChildProcess').start()
if (childStart !== true) {
eventEmitter.emit('progNotRun', {
data: data
})
}
function proxyRequest(req, res) {
var hostname = req.headers.host.split(":")[0];
proxy.web(req, res, {
target: 'http://' + hostname + ':' + 5000
});
eventEmitter.on('progNotRun', function(data) {
res.end('Cannot run app', data);
})
}
返回了REST API
,但有效的是:
response.body
以上看起来很荒谬,但那是有效的。 var body = JSON.parse(json.body);
var obj = JSON.stringify(body);
var jsonObj = JSON.parse(obj);
。找出它是一个json对象很难找到。
控制台做得很好但不是我正在使用的库。
完整的代码是:
json -> object -> json
答案 1 :(得分:0)
你必须将json字符串放入.collection
并访问Parse函数结果的属性。
您不能只从文本中访问属性。
答案 2 :(得分:0)
您未将解析后的值分配给json
。
var json = res.text;
应该是
var json = JSON.parse(res.text);