[智能体-7]:业务数据序列化为 JSON 字符串 完整示例
一、概念
序列化:把程序里的对象 / 字典 / 实体数据→ 转换成JSON格式字符串,用于网络传输、接口请求、存储。
反序列化:JSON 字符串 → 还原成程序可直接使用的数据对象。
二、Python 示例(最常用,对接 OpenAI / 大模型 API)
Python数据表达(格式)与JSON数据表达(格式)非常非常的相似!!!
1. 基础数据 → JSON 字符串
python
运行
import json # 1. 业务原始数据(Python字典) user_info = { "userId": 10086, "userName": "李四", "age": 25, "isVip": True, "balance": 128.5, "hobby": ["编程", "跑步", "看书"], "address": None } # 2. 序列化为 JSON 字符串 json_str = json.dumps(user_info, ensure_ascii=False, indent=2) print("序列化后的JSON字符串:") print(json_str) print(type(json_str)) # <class 'str'>输出结果(标准 JSON 字符串)
json
{ "userId": 10086, "userName": "李四", "age": 25, "isVip": true, "balance": 128.5, "hobby": ["编程", "跑步", "看书"], "address": null }参数说明
ensure_ascii=False:保留中文不乱码indent=2:格式化缩进,美观- 不传 indent:压缩成一行紧凑 JSON(接口传输常用)
python
运行
# 接口传输专用:压缩一行 json_line = json.dumps(user_info, ensure_ascii=False) print(json_line)2. 大模型 API请求体序列化(实战)
python
运行
import json # 业务请求参数: python的数据格式 chat_params = { "model": "deepseek-chat", "messages": [ {"role": "system", "content": "你是技术顾问"}, {"role": "user", "content": "讲解RESTful协议栈"} ], "temperature": 0.7, "max_tokens": 2048 } # 序列化为JSON字符串(JSON格式),放入HTTP请求体 request_body = json.dumps(chat_params, ensure_ascii=False) print(request_body)最终这个字符串,就是POST请求 Body(符合Json的数据格式),直接发给服务端。
3. 反序列化(接口拿到 JSON 字符串转回数据)
python
运行
# 模拟接口返回的JSON字符串 resp_json_str = '{"code":200,"msg":"成功","data":{"content":"讲解完成"}}' # 反序列化为Python字典!!! result_data = json.loads(resp_json_str) print(result_data["data"]["content"])三、JavaScript 前端序列化示例
javascript
运行
// 业务对象 let order = { orderId: 520, goodsName: "无线键鼠", price: 89.9, status: true }; // 序列化为 JSON 字符串 let jsonStr = JSON.stringify(order); console.log(jsonStr); // 反序列化 let obj = JSON.parse(jsonStr);不同编程语言的数据表达格式,可以序列化成通一个数据格式!!!
四、Java 序列化示例
java
运行
// 实体类 public class User { private Integer id; private String name; private Boolean enable; // get/set } // 使用Jackson序列化 ObjectMapper mapper = new ObjectMapper(); User user = new User(); user.setId(1001); user.setName("王五"); // 转为JSON字符串 String jsonStr = mapper.writeValueAsString(user);五、RESTful API 完整流程(序列化落地)
- 后端组装业务实体数据
序列化→JSON 字符串- 放入 HTTP POST Body,请求头:
plaintext
Content-Type: application/json - 服务端接收字符串
反序列化→ 程序对象- 逻辑处理后再次序列化返回 JSON
六、序列化自动类型对应表
表格
| 编程语言类型 | JSON 类型 |
|---|---|
| 字符串 | 双引号字符串 |
| int/float | JSON 数字 |
| bool | true /false(小写) |
| 数组 / 列表 | JSON 数组[] |
| 对象 / 字典 | JSON 对象{} |
| null / 空 | JSON null |
