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)

```

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

```python

import json

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

data = json.loads(json_string)

print(data)

```

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

```python

import json

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

data = json.load(f)

print(data)

```

  1. 将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)

```

相关推荐
步行cgn44 分钟前
JSON.stringify 详解:把 JavaScript 对象变成 JSON 字符串
开发语言·javascript·json
阿正的梦工坊2 小时前
深入理解 JSON-RPC 2.0:轻量级远程调用协议详解
rpc·json
腾讯数据架构师2 小时前
任务跑完怎么直接出图表?CubeStudio 任务可视化 ECharts 数据格式实操(CSV/JSON + metric.json,11 种图表一键渲染)
前端·json·echarts·数据可视化
救救孩子把3 小时前
结构化输出为何“格式正确、答案错误”?JSON Schema 的能力边界
android·java·json·agent·agent服务
霸道流氓气质4 小时前
智能表单生成器:结构化输出契约、JSON Schema 驱动渲染与 EAV/JSONB 混合存储的 Vue3 + Spring AI 生产级实战
人工智能·spring·json
SEO_juper4 小时前
Bash 交叉验证 robots.txt 和 sitemap:两个文件自相矛盾,页面永远收录不了
开发语言·python·node.js·json·bash
AI 编程助手GPT1 天前
用 jq 清洗订单 JSON:先隔离异常,再统计已支付金额
json·jq
qq_340040881 天前
idea2021版,vue项目的package.json不展示scripts的绿色箭头
javascript·vue.js·json
骑着蜗牛撵大象3271 天前
大模型 SDK 编译就崩?用 CMakeLists 把 httplib、JSON 与 OpenSSL 装配成可复用的 ChatServer
android·java·c++·http·json·cmake·大模型sdk