[json]定义、读写

对象结构

对象结构是使用大括号“{}”括起来的,大括号内是由0个或多个用英文逗号分隔的“关键字:值”对(key:value)构成的。语法如下:

{
    "键名1":1, "键名2":2, …… "键名n":值n };

其中,jsonObj指的是json对象。对象结构是以“{”开始,到“}”结束。其中“键名”和“值”之间用英文冒号构成对,两个“键名:值”之间用英文逗号分隔。这里的键名是字符串,但是值可以是数值、字符串、对象、数组或逻辑true和false12。

例如:

var jsonData = {
“name”: “Tom”,
“age”: 18,
“city”: “Shanghai”
};

数组结构

数组结构是用中括号“[]”括起来,中括号内部由0个或多个以英文逗号“,”分隔的值列表组成。语法如下:

[ {
    "键名1":1, "键名2":2 }, {
    "键名3":3, "键名4":4 }, …… ];

其中,arr指的是json数组。数组结构是以“[”开始,到“]”结束,这一点跟JSON对象不同。在JSON数组中,每一对“{}”相当于一个JSON对象,语法都非常类似12。

混合结构

{
    "programmers": [
{
    "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance.com" },
{
    "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets.com" },
{
    "firstName": "Elliotte", "lastName":"Harold", "email": "elharo@macfaq.com" }
],
"authors": [
{
    "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" },
{
    "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" },
{
    "firstName": "Frank", "lastName": "Peretti", "genre": "christian fiction" }
],
"musicians": [
{
    "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" },
{
    "firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano" }
]
}
import json

# 示例配置信息
config_data = {
    "programmers": [
{
    "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance.com" },
{
    "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets.com" },
{
    "firstName": "Elliotte", "lastName":"Harold", "email": "elharo@macfaq.com" }
],
"authors": [
{
    "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" },
{
    "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" },
{
    "firstName": "Frank", "lastName": "Peretti", "genre": "christian fiction" }
],
"musicians": [
{
    "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" },
{
    "firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano" }
]
}

# 将配置信息写入 JSON 文件
with open('config.json', 'w') as json_file:
	# indent:每个JSON对象前面都会有4个空格的缩进
    json.dump(config_data, json_file, indent=4)
# 打开JSON文件并读取内容
with open('config.json', 'r') as f:
    data = json.load(f)

# 访问配置信息
username = data['programmers'][0]['firstName']


print(username)

运行结果

Brett

相关推荐

  1. [json]定义

    2023-12-13 14:14:02       35 阅读
  2. boost库json格式文件

    2023-12-13 14:14:02       35 阅读
  3. C++ 使用nlohmann/json.hpp库json字符串

    2023-12-13 14:14:02       13 阅读
  4. Android中C++如何json文件

    2023-12-13 14:14:02       11 阅读
  5. qt对json文件下,qdatetime时间的正确方式

    2023-12-13 14:14:02       13 阅读
  6. MFC 注册表

    2023-12-13 14:14:02       35 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-13 14:14:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-13 14:14:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-13 14:14:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-13 14:14:02       18 阅读

热门阅读

  1. 从零学算法49

    2023-12-13 14:14:02       38 阅读
  2. ssh无密码自动登录实现原理

    2023-12-13 14:14:02       38 阅读
  3. 移除元素

    2023-12-13 14:14:02       28 阅读
  4. 【经典算法】随机森林

    2023-12-13 14:14:02       37 阅读
  5. uniapp微信小程序点击保存图片

    2023-12-13 14:14:02       45 阅读
  6. STM32汇编启动文件,F1与F4启动文件比较

    2023-12-13 14:14:02       33 阅读
  7. pymysql INSERT ON DUPLICATE KEY UPDATE

    2023-12-13 14:14:02       34 阅读
  8. 使用playbook部署k8s集群

    2023-12-13 14:14:02       36 阅读
  9. Linux下使用rm删除文件,并排除指定文件

    2023-12-13 14:14:02       46 阅读
  10. HTML 字体样式

    2023-12-13 14:14:02       38 阅读
  11. MySQL全文本、布尔搜索

    2023-12-13 14:14:02       36 阅读
  12. yolov5当检测到特定物体时发出警报声音

    2023-12-13 14:14:02       34 阅读