本地JSON文件怎么写?从基础语法到实用技巧全解析
JSON文件是什么?为什么需要它?
在开始写JSON文件前,我们先简单理解它的本质:JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,以易读、易写的文本形式存储数据,它就像一个“数据容器”,可以用来保存配置信息、接口数据、用户设置等,被广泛应用于前后端数据交互、程序配置存储等场景。
相比于XML等格式,JSON更简洁(没有冗余标签),解析效率更高,且能直接被JavaScript、Python、Java等主流语言原生支持,本地JSON文件的写法,无论是开发小程序、网站还是桌面应用,都是一项必备技能。
JSON文件的基础语法规则:写对的前提
JSON文件的写法有严格的语法规范,一旦格式错误,程序可能无法读取,以下是核心规则,务必牢记:
数据类型:JSON只能存储6种基本数据
JSON支持的数据类型很简单,包括:
- 字符串(String):用双引号 包裹,如
"张三"、"hello.json"。 - 数字(Number):整数或小数,如
18、14,无需引号。 - 布尔值(Boolean):仅
true或false(全小写,无引号)。 - null:表示空值,仅
null(全小写,无引号)。 - 数组(Array):用方括号
[]包裹,元素间用逗号 分隔,如[1, 2, "a", true]。 - 对象(Object):用花括号 包裹,键值对形式存储,如
{"name": "张三", "age": 18}。
结构规则:层级与分隔符
- 键值对:对象中的数据以
"key": value形式存在,key必须是字符串(双引号包裹),value可以是任意上述数据类型。 - 层级嵌套:对象和数组可嵌套使用,如
{"user": {"name": "李四", "hobbies": ["reading", "coding"]}}。 - 逗号分隔:同一层级的多元素(如对象中的多个键值对、数组中的多个元素)需用逗号 分隔,但最后一个元素后不能加逗号(否则会报错)。
- 文件扩展名:JSON文件通常以
.json为后缀,如config.json、data.json。
本地JSON文件的详细写法:从零开始创建
假设我们要创建一个存储“用户信息”的本地JSON文件,以下是具体步骤和示例:
第一步:确定数据结构
先想清楚要存储哪些数据,以及它们的关系,一个用户信息可能包含:
- 基本信息:姓名(字符串)、年龄(数字)、是否激活(布尔值)
- 兴趣爱好(数组)
- 地址(嵌套对象)
第二步:按语法规则编写JSON内容
根据数据结构,用JSON语法写出内容,以下是完整的 user.json 示例:
{
"userId": 1001,
"name": "王小明",
"age": 25,
"isActive": true,
"hobbies": ["编程", "摄影", "旅行"],
"address": {
"city": "北京市",
"district": "海淀区",
"street": "中关村大街1号"
},
"remark": null
}
第三步:保存为.json文件
- 用文本编辑器(如VS Code、Sublime Text、记事本)打开新文件;
- 将上述JSON内容复制粘贴到编辑器中;
- 点击“保存”,文件名命名为
user.json(确保扩展名是.json,而非.txt)。
常见错误与避坑指南:新手最容易踩的3个坑
写JSON文件时,以下错误最常见,需特别注意:
引号混用:字符串必须用双引号
JSON规范要求字符串只能用双引号 ,不能用单引号 。
❌ 错误示例:{'name': "张三'}
✅ 正确示例:{"name": "张三"}
逗号多余:最后一个元素后不能加逗号
对象或数组的最后一个元素后加逗号,会导致解析错误。
❌ 错误示例:
{
"name": "李四",
"age": 20,
}
✅ 正确示例(删除最后一个逗号):
{
"name": "李四",
"age": 20
}
数据类型错误:布尔值和null不能用引号
布尔值 true/false 和 null 是独立类型,不能用双引号包裹,否则会被当作字符串处理。
❌ 错误示例:{"isActive": "true"}
✅ 正确示例:{"isActive": true}
实用技巧:如何验证JSON文件是否正确?
写完JSON文件后,建议先验证格式是否正确,避免程序读取失败,推荐3种验证方法:
使用在线JSON验证工具
访问 JSONLint 等在线工具,将JSON内容粘贴进去,点击“Validate”,若提示“Valid JSON”,则格式正确;否则会显示具体错误位置(如第几行第几个字符)。
用代码验证(以JavaScript为例)
在浏览器控制台或Node.js环境中,用 JSON.parse() 方法尝试解析JSON文件内容:
const jsonString = `{"name": "张三", "age": 18}`;
try {
const data = JSON.parse(jsonString);
console.log("JSON格式正确,解析结果:", data);
} catch (error) {
console.error("JSON格式错误:", error.message);
}
若解析成功,说明格式正确;若报错(如 Unexpected token '}'),则需检查语法。
用编辑器插件实时检查
VS Code等编辑器支持JSON插件(如“JSON”插件),编写时会实时标红错误,并提示修改建议,适合新手快速排查问题。
进阶场景:动态生成JSON文件(以Python为例)
有时我们需要根据程序逻辑动态生成JSON文件(如将数据库数据导出为JSON),以下是Python示例:
import json
# 准备数据(字典格式,符合JSON结构)
data = {
"product": "智能手机",
"price": 2999,
"features": ["6.1英寸屏幕", "128GB存储", "5G网络"],
"in_stock": True
}
# 将字典写入JSON文件(ensure_ascii=False支持中文,indent=4格式化缩进)
with open("product.json", "w", encoding="utf-8") as f:
json.dump(data, f, ensure_ascii=False, indent=4)
print("JSON文件生成成功!")
执行后,会生成 product.json 文件,内容格式化如下:
{
"product": "智能手机",
"price": 2999,
"features": [
"6.1英寸屏幕",
"128GB存储",
"5G网络"
],
"in_stock": true
}
写本地JSON文件的核心是:遵循语法规则 + 明确数据结构 + 验证格式正确性,从基础的键值对、数组嵌套,到动态生成和错误排查,这些技能后,无论是存储配置、交换数据还是导出信息,都能游刃有余。
JSON的“简洁”和“规范”是它的优势,也是写对的关键——多练习、多验证,很快就能熟练使用!



还没有评论,来说两句吧...