JSON解析格式化

JSON 的核心特性

  1. 数据结构

    • 支持两种基本结构:

      • 对象(Object):键值对集合,用 {} 包裹,例如 { "name": "Alice", "age": 30 }

      • 数组(Array):有序值列表,用 [] 包裹,例如 ["apple", "banana", "orange"]

    • 支持嵌套(对象内包含数组,数组内包含对象)。

  2. 数据类型

    • 字符串(String):"Hello"

    • 数字(Number):整数或浮点数(如 423.14

    • 布尔值(Boolean):true 或 false

    • 空值(Null):null

    • 对象(Object)和数组(Array)。

  3. 语法规则

    • 键名必须用双引号包裹("key")。

    • 值可以是任意数据类型。

    • 键值对用逗号分隔,最后一个键值对后不能有逗号。


JSON 示例

{
  "name": "张三",
  "age": 28,
  "isStudent": false,
  "hobbies": ["读书", "编程", "跑步"],
  "address": {
    "city": "北京",
    "postcode": "100000"
  }
}

JSON 的主要用途

  1. Web API 数据交换

    • 前后端通信(如通过 HTTP 请求发送 JSON 数据)。

    • 例如,RESTful API 通常以 JSON 格式返回数据:

       
      {
        "status": 200,
        "data": { /* ... */ }
      }
  2. 配置文件

    • 许多工具(如 VS Code、ESLint)使用 .json 文件存储配置。

    • 例如 package.json 定义 Node.js 项目的依赖和脚本。

  3. NoSQL 数据库

    • MongoDB、Firebase 等数据库直接存储 JSON 格式的数据。


JSON 与其他格式对比

特性 JSON XML YAML
可读性 高(简洁) 中(标签冗余) 高(缩进清晰)
体积
解析速度
注释支持

JSON 工具

  1. 序列化与反序列化

    • JavaScript:JSON.parse()(字符串 → 对象),JSON.stringify()(对象 → 字符串)。

    • Python:json.loads() 和 json.dumps()

    • Java:Jackson、Gson 等库。

  2. 格式化和验证

    • 在线工具:JSONLint、JSON Formatter。

    • IDE 插件:VS Code 自动高亮和格式化。


注意事项

  • 严格语法:键必须用双引号,末尾不能有多余逗号。

  • 安全性:解析不可信 JSON 时需防范注入攻击(如 JavaScript 的 eval() 不安全)。

  • 性能:处理超大 JSON 文件时需使用流式解析(如 Python 的 ijson)。

点赞(0) 打赏
诗词大全
诗词大全
智商测试
智商测试
URL转码解码
URL转码解码
在线图表
在线图表

评论列表 共有 0 条评论

暂无评论
意见
建议
发表
评论
返回
顶部