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

JSON的基础使用

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成。它基于JavaScript编程语言的一个子集,但独立于语言,许多编程语言都支持JSON。

 

JSON的基本结构包括两种类型:对象(object)和数组(array)。对象是由键值对组成的无序集合,键是字符串,值可以是字符串、数字、布尔值、null、对象或数组。数组是由有序的值组成的集合,值可以是任何JSON支持的类型。

 

以下是一个简单的JSON示例:

 

```json

{

  "name": "张三",

  "age": 30,

  "isStudent": false,

  "courses": ["语文", "数学", "英语"],

  "address": {

    "city": "北京",

    "street": "朝阳路"

  }

}

```

 

在Python中,可以使用`json`模块来处理JSON数据。以下是一些常用的操作:

 

1. 将Python对象转换为JSON字符串:

 

```python

import json

 

data = {

    "name": "张三",

    "age": 30,

    "isStudent": False,

    "courses": ["语文", "数学", "英语"],

    "address": {

        "city": "北京",

        "street": "朝阳路"

    }

}

 

json_string = json.dumps(data)

print(json_string)

```

 

2. 将JSON字符串转换为Python对象:

 

```python

import json

 

json_string = '{"name": "张三", "age": 30, "isStudent": false, "courses": ["语文", "数学", "英语"], "address": {"city": "北京", "street": "朝阳路"}}'

 

data = json.loads(json_string)

print(data)

```

 

3. 从文件中读取JSON数据:

 

```python

import json

 

with open('data.json', 'r', encoding='utf-8') as f:

    data = json.load(f)

    print(data)

```

 

4. 将Python对象写入JSON文件:

 

```python

import json

 

data = {

    "name": "张三",

    "age": 30,

    "isStudent": False,

    "courses": ["语文", "数学", "英语"],

    "address": {

        "city": "北京",

        "street": "朝阳路"

    }

}

 

with open('data.json', 'w', encoding='utf-8') as f:

    json.dump(data, f, ensure_ascii=False, indent=4)

```


http://www.kler.cn/a/288078.html

相关文章:

  • 如何处理 iOS 客户端内 Webview H5 中后台播放的音视频问题
  • 游戏引擎学习第九天
  • 一种时间戳对齐的方法(离线)
  • JDBC-Mysql 时区问题详解
  • postgresql.conf与postgresql.auto.conf区别
  • 昆明华厦眼科医院举办中外专家眼科技术研讨会
  • 去中心化身份验证:Web3时代数字身份的革新
  • 网络安全售前入门10安全服务——安全培训服务
  • 08-Python 中的 `print()` 函数详解及高级用法
  • 删除字符串中所有相邻重复项
  • 微服务架构
  • 公网信息泄露监测(网盘、暗网、搜索引擎、文档平台)思路分享
  • 深入理解 Java 中的 Collections 工具类
  • Fabric.js Canvas:核心配置与选项解析
  • Byte Pair Encoding(BPE)算法原理以及其python实现
  • 大语言模型算力优化策略:基于并行化技术的算力共享平台研究
  • BugKu练习记录:你喜欢下棋吗
  • 常见的锁策略
  • C++可变参数函数模板
  • Java基于微信小程序的美食推荐小程序,附源码
  • Extended Line Description in Halcon and OpenCV
  • 每天一个数据分析题(五百一十四)- 决策树算法
  • HTML静态网页成品作业(HTML+CSS+JS)——中华美食八大菜系介绍(1个页面)
  • git switch和git checkout
  • Vue(十一)默认插槽、具名插槽、作用域插槽
  • Java面试自我介绍