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

相关推荐
新时代牛马9 分钟前
epoll 源码路径:从epoll_ctl 到ep_poll 的就绪唤醒
网络·数据库·网络协议
简单Janeee9 分钟前
[Vue 3 从零到上线]-第九篇:更美更强——引入 UI 库与网络请求 (Axios)
网络·vue.js·ui
学习星球12 分钟前
空天地一体化网络(NTN)深度解析:从Starlink D2C到3GPP NTN,卫星直连手机是如何实现的?
网络·人工智能·算法·智能手机·php
DolitD16 分钟前
云流技术深度剖析:单服务器下如何实现3D应用的多实例并发?
java·服务器·前端·3d·云原生·云计算
jun_bai21 分钟前
Ecplise中发布项目到配置的tomcat中
java·服务器
芦柑46423 分钟前
画布和3D导演台工具:短剧分镜从素材整理到空间预演的完整链路
服务器·前端·数据库
星辰徐哥27 分钟前
诗词大会AI:基于具身交互数字人技术的国风沉浸式古诗词智能赏析平台
人工智能·microsoft·交互·数字人·诗词大会
闲云野鹤在人间32 分钟前
KVM虚拟化实战|CentOS‑Stream8 两种安装方式+模板制作+基础使用
linux·运维·服务器·centos
小张同学a.33 分钟前
Docker 容器实战 2—— docker 仓库
linux·运维·服务器·docker·容器
艾莉丝努力练剑37 分钟前
【AI大模型接入SDK】WebSocket & SSE 协议
网络·c++·websocket·网络协议·学习·面试