在NodeJS中使用JSON中的数据

时间:2017-05-17 12:22:52

标签: json node.js

您好我刚刚开始学习Nodejs并将本地服务器作为一个开始 然后我看到大多数nodejs应用程序有配置和包文件我找不到任何关于如何做一个简单的或使用JSON文件的信息,所以我尝试自己这是我到目前为止

这是服务器文件

var http = require('http');
var json = require('./package');
var fs = require('fs');

var server = http.createServer(function(req, res) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello World\n');
}).listen(addr.port);

console.log('server listening at', addr.address + ':' + addr.port);

这是json文件

{
    "addr": {
        "address":"http://127.0.0.1",
        "port":"8081"
    }
}

我知道它可以与json.address和json.port一起使用 但当我添加“addr”时,我认为它会简化addr.port

的事情

所以简而言之,我们会慷慨地接受解释为什么它不会/不应该工作或者我做错什么

2 个答案:

答案 0 :(得分:2)

首先,您应该查看一些教程或介绍网站,如:

https://www.w3schools.com/nodejs/default.asp

第二: r.content 文件是nodeJS应用程序的主要配置文件。这是配置文件,它定义了应用程序的起点以及所有包含的模块。只需使用package.json创建包含基本信息的默认npm init文件即可。

第三: 如果您在示例中需要json进入应用程序,则JSON将按层次结构包含在内。这意味着您需要的对象具有属性package.json,该属性本身是具有属性addr的新对象。

因此,根据对象描述

address访问您的信息的正确方法

您也可以这样做:



json.addr.address




答案 1 :(得分:1)

您需要列出父对象。你已经添加了addr.address和addr.port,这意味着你直接尝试访问addr对象,但是这个对象不存在。尝试做json.addr.address和json.addr.port,它应该可以工作。

var http = require('http');
var json = require('./package');
var fs = require('fs');

var server = http.createServer(function(req, res) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello World\n');
}).listen(json.addr.port);

console.log('server listening at', json.addr.address + ':' + json.addr.port);