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

相关推荐
SEO_juper15 小时前
CDN 地域节点优化:匹配 GEO 信号,提升加载速度
服务器·ai·php·seo·cdn·geo·谷歌优化
神奇小梵15 小时前
关于finalshell的使用
linux·服务器·网络
上海云盾-小余15 小时前
恶意爬虫精准拦截:网站流量净化与资源守护方案
网络·爬虫·web安全
dog25015 小时前
解析几何的现代范式-算力,拟合与对偶
服务器·开发语言·网络·线性代数·php
dangdanding16 小时前
防火墙 IP 分片测试套件-fragroute
linux·网络·网络协议·tcp/ip
happymade16 小时前
全网拓扑自动发现与服务器全维度监控的技术实践
linux·运维·服务器·网络·zabbix·路由器·prometheus
small_white_robot16 小时前
(Win)文件上传数据流绕过-面试常考
网络·安全·web安全·网络安全
cui_ruicheng16 小时前
Linux网络编程(五):基于UDP实现DictServer
linux·服务器·网络·udp
辣椒思密达16 小时前
住宅IP纯净度评估方法:黑名单、风险评分与历史行为检测
运维·服务器·网络
Terasic友晶科技16 小时前
答疑解惑|为DE25-Nano开发板配置Linux kernel时.config文件没有起作用是什么原因?
linux·服务器·fpga开发·linux kernel·de25-nano