node.js如何解析get请求和post请求?以及对JSON.stringify与JSON.parse 的具体介绍?

一、get请求处理方法:

(1)querystring.parse(req.url.query)

代码示例:见 http://t.csdnimg.cn/e4zCG

(2)url.parse(req.url,true)

代码示例:见 http://t.csdnimg.cn/rW4Fy

二、post请求处理方法:

(1)Node.js 没有提供直接解析POST请求提交的数据的模块

一般是通过request的data和end事件获取请求报文中请求正文的内容后再解析

代码示例:见我后续出的文章

(2)可通过第三方模块进行解析,如:formidable、body-parser等

代码示例:见我后续出的文章

三、JSON.stringify与JSON.parse 的具体介绍

(1)JSON.stringify

1》作用

将JavaScript对象或值转换为JSON字符串。

2》使用背景

当你需要将JavaScript对象发送到服务器或者存储到本地文件时,可以使用

3》代码示例:
javascript 复制代码
const obj = { name: 'Alice', age: 30 };

const jsonString = JSON.stringify(obj);

console.log(jsonString); // {"name":"Alice","age":30}
4》总结:

用途:

JSON.stringify 用于生成 JSON 格式的字符串,通常用于数据持久化、网络通信等

数据类型:

JSON.stringify只接受能被 JSON 序列化的数据类型,如对象、数组、字符串、数字、布尔值、null 等

输出格式:

JSON.stringify 输出的字符串遵循 JSON 格式

(2)JSON.parse

1》作用:

将JSON字符串转换为JavaScript对象或值

2》使用背景:

从服务器接收到JSON字符串 或者 从本地文件读取JSON字符串

3》代码示例:
javascript 复制代码
let myJSON = '{"name":"John","age":30,"city":"New York"}';

let obj = JSON.parse(myJSON);

console.log(obj.name);

// 输出: 'John'
4》编写服务器代码常用操作解析:

在接收服务器数据时一般是JSON字符串。我们可以使用 JSON.parse() 方法将数据转换为 JavaScript 对象。

javascript 复制代码
fs.readFile(path.join(__dirname, 'data/comments.json'), (err, data) => {
    if (err) { //错误处理
        comments = {};
    } else {
        comments = JSON.parse(data.toString());
    }
})

else里的代码意思是:如果文件读取成功 那么 data 会是一个 Buffer 对象。为了将 Buffer 对象转换为 JSON 对象,首先使用 data.toString() 将 Buffer 转换为JSON字符串,然后使用 JSON.parse() 将JSON字符串解析为 JavaScript 对象。这个对象会被赋值给 comments 变量。

相关推荐
Stream_Silver1 天前
【Node.js 安装报错解决方案:解决“A later version of Node.js is already installed”问题】
node.js
广然1 天前
EVE-NG 镜像管理工具 1.1 Web 版本正式发布!
运维·服务器·前端
祁鱼鱼鱼鱼鱼1 天前
DNS 笔记记录
运维·服务器·网络
tod1131 天前
Makefile进阶(上)
linux·运维·服务器·windows·makefile·进程
Data_Journal1 天前
【无标题】
大数据·服务器·前端·数据库·人工智能
方芯半导体1 天前
EtherCAT “通信 + 控制“ 的全国产化控制方案,ESC芯片(FCE1323)与国产MCU芯片功能板解析
xml·网络·单片机·嵌入式硬件·网络协议·机器人·自动化
豆是浪个1 天前
Linux(Centos 7.6)命令详解:top
linux·运维·服务器
王锋(oxwangfeng)1 天前
企业出海网络架构与数据安全方案
网络·架构·自动驾驶
赛德传动1 天前
使用SNJ齿轮齿条升降机时,有哪些安全防护措施?
网络·安全·制造
Zach_yuan1 天前
UDP网络编程:从入门到精通
linux·网络·网络协议·udp