';无法从节点js中的JSON对象获取值
我有一个jsp文件,它使用以下代码返回json对象:';无法从节点js中的JSON对象获取值,json,node.js,Json,Node.js,我有一个jsp文件,它使用以下代码返回json对象: JSONObject object = new JSONObject(); object.put("name","domain"); object.put("email","domain.com"); response.setContentType("application/json"); response.getWriter().write(object.toString()); 输出为:{“n
JSONObject object = new JSONObject();
object.put("name","domain");
object.put("email","domain.com");
response.setContentType("application/json");
response.getWriter().write(object.toString());
输出为:{“name”:“domain”,“email”:“domain.com”}
我试图使用node.js中的以下代码从这个JSON获取值:
var endpoint = // contains the address of the above jsp file;
var body = ""
http.get(endpoint, (response) => {
response.on('data', (chunk) => { body += chunk })
response.on('end', () => {
console.log("Body: "+body);
console.log("Body name: "+body.name);
})
})
在上面的代码段中,我得到了console.log的以下输出-
正文:{“名称”:“域”,“电子邮件”:“domain.com”}
主体名称:未定义
我不知道为什么“body.name”不起作用。
请任何人帮助从json对象获取值。因为body本身是json对象,所以我不需要做json.parse。必须解析JSON字符串才能将其分配给js对象
var endpoint = // contains the address of the above jsp file;
var body = {}
http.get(endpoint, (response) => {
response.on('data', (chunk) => { body = JSON.parse(chunk) })
response.on('end', () => {
console.log("Body: "+body);
console.log("Body name: "+body.name);
})
})
body
对象是字符串。因此,当您尝试在console中编写时:
console.log("Body: "+body);
你得到这个:
Body: {"name":"domain","email":"domain.com"}
但由于body是字符串,所以无法获取其属性name
。字符串没有proerty名称
。你应该首先
var endpoint = // contains the address of the above jsp file;
var body = ""
http.get(endpoint, (response) => {
response.on('data', (chunk) => { body += chunk })
response.on('end', () => {
console.log("Body: "+ body);
var parsedBody = JSON.parse(body);
console.log("Body name: "+ parsedBody .name);
})
})