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

零基础json入门教程(基于vscode的json配置文件)

一、什么是 JSON?—— 最核心的概念

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,长得像键值对的集合,用途是存储和传递数据。在 VS Code 中,它常被用来写配置文件(比如调试配置、插件配置等),语法简单且易于阅读。

核心特点

  • 由「键值对」组成(类似字典:"键": "值"
  • 键和字符串值必须用双引号"")包裹(单引号会报错)
  • 用逗号(,)分隔多个键值对(最后一个键值对后不能加逗号)
  • 支持嵌套(对象里放对象 / 数组,数组里放对象 / 值)

二、JSON 的基本数据类型(必须掌握)

JSON 中值的类型有 5 种,在 VS Code 配置中最常用的是前 4 种

类型示例说明
字符串"name": "mps3-r52"用双引号包裹的文本(路径、名称常用)
数字"version": "0.2.0"整数或小数(注意:VS Code 配置中版本号常用字符串形式)
布尔值"stopAtEntry": true只有 true(真)或 false(假)
数组"args": []用 [] 包裹的列表,可放多个值
对象"configurations": [{}]用 {} 包裹的键值对集合,可嵌套

三、VS Code 中 JSON 的典型应用:调试配置文件(launch.json)

提供的示例就是 VS Code 调试 C/C++ 程序的配置文件(launch.json),用于告诉 VS Code 如何启动调试器。我们先通过这个示例拆解结构:

{"version": "0.2.0",  // 配置文件版本(固定值,由VS Code定义)"configurations": [  // 调试配置列表(数组,可包含多个配置){  // 第一个配置(对象)"name": "mps3-r52",  // 配置名称(显示在调试面板)"type": "cppdbg",   // 调试类型(C++用cppdbg)"request": "launch", // 调试方式(launch=启动程序,attach=附加到已运行程序)"program": "${workspaceRoot}/bsp/qemu-mps3-an536/rtthread.elf",  // 待调试的程序路径"args": [],  // 启动程序时的参数(无参数则为空数组)"stopAtEntry": true,  // 启动后是否在入口处暂停"cwd": "${workspaceRoot}",  // 调试时的工作目录"externalConsole": true,  // 是否使用外部控制台"miDebuggerPath": "D:\\...\\arm-none-eabi-gdb.exe",  // 调试器路径"miDebuggerServerAddress": "localhost:1234",  // 调试服务器地址"serverLaunchTimeout": 2000,  // 服务器启动超时时间(毫秒)"targetArchitecture": "ARM",  // 目标架构"MIMode": "gdb",  // 调试器模式(GDB调试用gdb)"customLaunchSetupCommands": [],  // 自定义调试命令(空表示默认)"launchCompleteCommand": "exec-run"  // 启动完成后执行的命令}]
}

http://www.xdnf.cn/news/1387405.html

相关文章:

  • 序列化和反序列的学习
  • 医疗AI时代的生物医学Go编程:高性能计算与精准医疗的案例分析(五)
  • Word - Word 查找文本中的特定内容
  • Redis vs Elasticsearch:核心区别深度解析
  • c++二叉搜索树
  • 在Linux的环境下安装GitLab(保姆级别)
  • Ubuntu下的压缩及解压缩
  • Llama-index学习文档
  • AI驱动万物智联:IOTE 2025深圳展呈现无线通信×智能传感×AI主控技术融合
  • 【Python办公】CSV按列去重工具
  • LangChain实战(三):深入理解Model I/O - Prompts模板
  • 聊聊Prompt Engineering (提示词工程)
  • Rust Web框架Axum学习指南之响应和异常封装
  • websocket建立连接过程
  • AI供应链优化+AI门店排班:蜜雪冰城降本20%、瑞幸提效的AI商业落地实战
  • 港科大开放世界长时域具身导航!LOVON:足式机器人开放词汇目标导航
  • LeetCode Hot 100 Python (1~10)
  • 1 分钟 Maya 动画渲染要多久?5 天还是 5 小时
  • linux系统学习(15.启动管理)
  • 第一百零二章:AI的“未来电影制片厂CEO”:多模态系统落地项目实战(完整 AI 视频创作平台)
  • 极飞科技AI智慧农业实践:3000亩棉田2人管理+产量提15%,精准灌溉与老农操作门槛引讨论
  • 组件的生命周期:`useEffect` 的威力与副作用处理
  • 随机森林的 “Bootstrap 采样” 与 “特征随机选择”:如何避免过拟合?(附分类 / 回归任务实战)
  • 华为云CCE的Request和Limit
  • Ethercat主从站移植时的问题记录(二)—无法进入OP状态且从站PDI中断不触发
  • 什么是Jmeter? Jmeter工作原理是什么?
  • linux上安装methylkit -- 安全下车版 (正经版: Linux环境下安装methylKit的实践与避坑指南)
  • springboot java开发的rocketmq 顺序消息保证
  • CAN总线(Controller Area Network Bus)控制器局域网总线(二)
  • 无人机图传模块原理及作用——开启飞行视野的关键技术