• 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》代码示例: 
    1. const obj = { name: 'Alice', age: 30 };
    2. const jsonString = JSON.stringify(obj);
    3. 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》代码示例:
    1. let myJSON = '{"name":"John","age":30,"city":"New York"}';
    2. let obj = JSON.parse(myJSON);
    3. console.log(obj.name);
    4. // 输出: 'John'
    4》编写服务器代码常用操作解析: 

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

    1. fs.readFile(path.join(__dirname, 'data/comments.json'), (err, data) => {
    2. if (err) { //错误处理
    3. comments = {};
    4. } else {
    5. comments = JSON.parse(data.toString());
    6. }
    7. })

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

  • 相关阅读:
    抖店无货源如何上架商品?抖店上货教程标题
    如何基于vue3 封装敏感词过滤自定义指令(输入框输入时 自动将敏感词转成**)
    4.6 IPv6
    iptables服务简单使用
    MySQL 索引底层原理
    web server apache tomcat11-10-Class Loader
    经典论文-MobileNetV3论文及实践
    Vue 2 进入、离开和列表过渡
    python解析wirshark抓包数据
    tomcat学习:tomcat 目录及配置文件学习,部署多个项目的两种方式
  • 原文地址:https://blog.csdn.net/2301_76669854/article/details/138164608