当前位置: 首页 > news >正文

JSON 与 AJAX

一、JSON(JavaScript Object Notation)
1. 数据类型与语法细节
  • 支持的数据类型

    • 基本类型:字符串(需用双引号)、数字、布尔值(true/false)、null
    • 复杂类型:数组([])、对象({})。
  • 严格语法规范

    • 键名必须用双引号包裹(如 "name": "张三")。
    • 数组元素用逗号分隔,最后一个元素后不能有多余逗号。
    • 数字不能以0开头(如012会被解析为12),不支持八进制 / 十六进制表示。
  • 特殊场景示例

    json

    {"timestamp": 1686528000,"isAdmin": null,"emptyArray": [],"nestedObject": {"nestedArray": [1, 2, {"key": "value"}]},"escapedString": "Hello \"World\" \\n Newline" // 转义字符:\", \/, \b, \f, \n, \r, \t
    }
    
2. JSON 与 JavaScript 对象的区别
特性JSONJavaScript 对象
语法限制键名必须用双引号键名可省略引号(非字符串键)
数据类型无函数、Symbol、Date 等支持全部 JS 数据类型
序列化JSON.stringify()需手动处理复杂类型
原型链不保留原型链包含原型链属性
3. JSON 解析与序列化进阶
  • 循环引用处理

    javascript

    const obj = { name: '循环对象' };
    obj.self = obj;
    // JSON.stringify(obj) 会报错
    // 解决方案:使用replacer函数过滤循环引用
    JSON.stringify(obj, (key, value) => {if (value === obj) return '[Circular Reference]';return value;
    });
    
  • 大 JSON 数据处理

    • 分段解析:使用JSON.parse()reviver参数逐步处理。
    • 流式解析:Node.js 中可用JSONStream库处理 GB 级 JSON 文件。
  • JSON Schema 验证
    使用ajv等库验证 JSON 数据格式,例如:

    javascript

    const Ajv = require('ajv');
    const ajv = new Ajv();const schema = {type: 'object',properties: {name: { type: 'string' },age: { type: 'number', minimum: 18 }},required: ['name', 'age']
    };const valid = ajv.validate(schema, { na

相关文章:

  • 安装配置以太链钱包工具
  • 解决 PyTorch 与 Python 3.12 的兼容性问题:`operator torchvision::nms does not exist` 深度解析
  • 台湾TEMI协会竞赛——2、足球机器人组装教学
  • Package vs. Directory (包 vs. 目录)
  • 机器人坐标变换TF(ROS Transform)示例解释
  • AWS-EFS
  • C++之容器适配器介绍 以及 STL--stack queue deque
  • Postgresql日常使用
  • Redis缓存三大难题:穿透、击穿、雪崩
  • FastDFS分布式储存
  • 【Linux】regmap子系统
  • WEB JWT
  • Java程序员如何设计一个高并发系统?
  • Go 语言安装指南:并解决 `url.JoinPath` 及 `Exec format error` 问题
  • 全栈监控系统架构
  • 大白话解释蓝牙的RPC机制
  • LeetCode 2917.找出数组中的K-or值
  • Linux612 chroot_list开放;FTP服务ftp:get put,指定上传路径报错553;ftp查看文件夹权限
  • Vulkan学习笔记4—图形管线基础
  • ubuntu20.04 安装Mujoco 及 Isaac Gym 仿真器
  • 自己怎样做网站/品牌宣传策划方案
  • 衡水网站建设在哪里/新闻今天的最新新闻
  • 网站从哪些方面来做/seo基础视频教程
  • 寿县有做网站开发的吗/seo服务 收费
  • 做的新网站网上搜不到/互联网营销工具
  • e福州客服电话多少/南宁seo排名优化