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

相关推荐
不像程序员的程序媛6 小时前
检测网络的命令mtr详解
网络
天启HTTP7 小时前
爬虫防封核心原理:IP轮换机制与风控规避逻辑
linux·服务器·网络·爬虫·tcp/ip
运维行者_7 小时前
网络性能监控怎么做?从自动发现到根因分析的4个环节
运维·服务器·网络·人工智能·支持向量机
明月_清风7 小时前
Deno 终局来了:从挑战 Node 到被 Cloudflare 收编
前端·后端·node.js
hz567899 小时前
涉密视频会议设备配置指南:终端、音视频采集与配套设施选型
服务器·网络·数据库·安全·实时音视频·信息与通信·智能硬件
广州浮点FLOATLIC9 小时前
许可证服务器迁移后软件打不开:研发 IT 怎样定位连接问题
linux·服务器·数据库
优橙教育9 小时前
零基础学AI应用开发要多久?3个月能到什么水平
服务器·开发语言·网络·php
AIgorithmGEEK9 小时前
[Linux]从手写报头到内核套路:序列化、反序列化与自定义协议全链路
linux·运维·服务器·网络·序列化·反序列化
Nil20810 小时前
leetcode 139单词拆分
linux·运维·服务器
Starry-sky(jing)10 小时前
BUG: unable to handle kernel paging request 完整排查:dmesg 四要素与三路定罪
linux·运维·服务器·内核·排障