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 变量。

相关推荐
weixin_4426434241 分钟前
推荐FileLink数据跨网摆渡系统 — 安全、高效的数据传输解决方案
服务器·网络·安全·filelink数据摆渡系统
阑梦清川1 小时前
JavaEE初阶---网络原理(五)---HTTP协议
网络·http·java-ee
Karoku0661 小时前
【企业级分布式系统】Zabbix监控系统与部署安装
运维·服务器·数据库·redis·mysql·zabbix
半桶水专家1 小时前
用go实现创建WebSocket服务器
服务器·websocket·golang
布值倒区什么name1 小时前
bug日常记录responded with a status of 413 (Request Entity Too Large)
运维·服务器·bug
FeelTouch Labs2 小时前
Netty实现WebSocket Server是否开启压缩深度分析
网络·websocket·网络协议
不收藏找不到我2 小时前
浏览器交互事件汇总
前端·交互
。puppy2 小时前
HCIP--3实验- 链路聚合,VLAN间通讯,Super VLAN,MSTP,VRRPip配置,OSPF(静态路由,环回,缺省,空接口),NAT
运维·服务器
颇有几分姿色2 小时前
深入理解 Linux 内存管理:free 命令详解
linux·运维·服务器
EricWang13583 小时前
[OS] 项目三-2-proc.c: exit(int status)
服务器·c语言·前端