易语言JSON类的使用指南:从入门到实践
在易语言编程中,处理JSON数据是常见需求,尤其是在与Web接口交互、解析配置文件或数据交换场景中,易语言官方提供了“易语言JSON支持库”(或第三方JSON类),支持JSON数据的创建、解析、修改和生成,本文将以易语言内置的JSON支持库为例,详细介绍JSON类的使用方法,帮助开发者快速JSON数据处理技巧。
JSON类简介:核心功能与准备工作
易语言的JSON类主要用于操作“JavaScript对象表示法(JSON)”格式数据,其核心功能包括:
- 创建JSON对象:生成空JSON对象或直接初始化键值对;
- 解析JSON字符串:将JSON格式文本转换为易语言可操作的对象;
- 读写数据:通过键名(或索引)获取/设置JSON中的值(支持字符串、数字、布尔值、数组、嵌套对象等);
- 生成JSON字符串:将JSON对象转换为标准JSON格式文本,便于网络传输或存储。
准备工作
- 引用支持库:在易语言程序中,需通过“程序”→“加入支持库”→“JSON支持库”(或第三方JSON类库,如“易语言JSON类”),确保JSON功能可用。
- 理解JSON结构:JSON数据以键值对(
"key": value)或数组([value1, value2, ...])为基础,支持嵌套(如对象中包含数组或对象),{ "name": "张三", "age": 25, "isStudent": false, "courses": ["语文", "数学"], "address": { "city": "北京", "district": "朝阳区" } }
创建JSON对象:从空对象到初始化数据
创建空JSON对象
使用 创建JSON() 函数可生成一个空的JSON对象,后续通过赋值添加数据:
.版本 2
.程序集 窗口程序集_启动窗口
.子程序 __启动窗口_创建完毕
.局部变量 jsonObj, JSON对象
' 创建空JSON对象
jsonObj = 创建JSON ()
' 添加键值对(字符串类型)
jsonObj.置属性 ("name", "李四")
' 添加键值对(数字类型)
jsonObj.置属性 ("age", 30)
' 输出JSON对象(调试用)
调试输出 ("当前JSON对象:" + jsonObj.取JSON文本 ())
.结束子程序
执行后,调试输出结果为:{"name":"李四","age":30}。
直接初始化JSON数据
若需一次性创建包含多个键值对的JSON对象,可通过 JSON对象() 构造函数直接初始化(支持嵌套):
.版本 2
.程序集 窗口程序集_启动窗口
.子程序 __启动窗口_创建完毕
.局部变量 jsonObj, JSON对象
' 直接初始化JSON对象(包含嵌套对象和数组)
jsonObj = JSON对象 (
"name", "王五",
"age", 28,
"hobbies", JSON数组 ("编程", "阅读", "运动"),
"contact", JSON对象 (
"email", "wangwu@example.com",
"phone", "13800138000"
)
)
' 输出JSON文本
调试输出 ("完整JSON:" + jsonObj.取JSON文本 ())
.结束子程序
输出结果为:
{
"name":"王五",
"age":28,
"hobbies":["编程","阅读","运动"],
"contact":{"email":"wangwu@example.com","phone":"13800138000"}
}
解析JSON字符串:从文本到对象
当需要处理从网络或文件读取的JSON文本时,需先通过 解析JSON() 函数将其转换为JSON对象,再进行数据提取。
示例:解析JSON字符串并提取数据
假设有以下JSON字符串:
{"status":200,"message":"success","data":{"list":[{"id":1,"name":"商品A"},{"id":2,"name":"商品B"}]}}
解析步骤如下:
.版本 2
.程序集 窗口程序集_启动窗口
.子程序 __启动窗口_创建完毕
.局部变量 jsonText, 文本型
.局部变量 jsonObj, JSON对象
.局部变量 dataList, JSON数组
.局部变量 item, JSON对象
.局部变量 i, 整数型
' 待解析的JSON字符串
jsonText = "{\"status\":200,\"message\":\"success\",\"data\":{\"list\":[{\"id\":1,\"name\":\"商品A\"},{\"id\":2,\"\"name\":\"商品B\"}]}}"
' 解析JSON字符串
jsonObj = 解析JSON (jsonText)
' 提取顶层字段(status和message)
调试输出 ("状态码:" + jsonObj.取属性 ("status"))
调试输出 ("消息:" + jsonObj.取属性 ("message"))
' 提取嵌套对象(data.list)
.(jsonObj.是否存在 ("data"))
.局部变量 dataObj, JSON对象
dataObj = jsonObj.取属性 ("data")
.(dataObj.是否存在 ("list"))
dataList = dataObj.取属性 ("list") ' 获取数组
' 遍历数组
.计次循环首 (dataObj.取属性 ("list").取长度 (), i)
item = dataList.取属性 (i)
调试输出 ("商品ID:" + item.取属性 ("id") + ",名称:" + item.取属性 ("name"))
.计次循环尾 ()
.否则
调试输出 ("data对象中不存在list字段")
.如果结束
.否则
调试输出 ("JSON对象中不存在data字段")
.如果结束
.结束子程序
输出结果为:
状态码:200
消息:success
商品ID:1,名称:商品A
商品ID:2,名称:商品B
修改JSON数据:动态更新键值对与嵌套结构
JSON对象支持动态修改,可通过 置属性() 更新已有键值对,或添加新键值对;若需删除数据,可使用 删除属性()(部分JSON类支持)。
示例:修改JSON数据
.版本 2
.程序集 窗口程序集_启动窗口
.子程序 __启动窗口_创建完毕
.局部变量 jsonObj, JSON对象
' 初始化JSON对象
jsonObj = JSON对象 (
"name", "赵六",
"age", 35,
"skills", JSON数组 ("Java", "Python")
)
' 1. 修改已有字段(age改为36)
jsonObj.置属性 ("age", 36)
' 2. 添加新字段(gender)
jsonObj.置属性 ("gender", "男")
' 3. 向数组添加元素(skills添加"Go")
.局部变量 skillsArray, JSON数组
skillsArray = jsonObj.取属性 ("skills")
skillsArray.添加 ("Go")
' 4. 删除字段(假设删除skills)
' jsonObj.删除属性 ("skills") ' 若JSON类支持删除功能
' 输出修改后的JSON
调试输出 ("修改后JSON:" + jsonObj.取JSON文本 ())
.结束子程序
输出结果为:
{"name":"赵六","age":36,"skills":["Java","Python","Go"],"gender":"男"}
生成JSON字符串:从对象到文本
当需要将JSON对象转换为文本(如发送HTTP请求或保存到文件)时,使用 取JSON文本() 方法即可,该方法会自动处理格式,确保输出符合JSON标准。
示例:生成JSON字符串并保存到文件
.版本 2
.程序集 窗口程序集_启动窗口
.子程序 __启动窗口_创建完毕
.局部变量 jsonObj, JSON对象
.局部变量 jsonText, 文本型
.局部变量 文件句柄, 整数型
' 创建JSON对象
jsonObj = JSON对象 (
"user", JSON对象 (
"id", 1001,
"username", "admin",
"permissions", JSON数组 ("read", "write", "delete")
),
"timestamp", #now
"is_active", 真
)
' 生成JSON文本
jsonText = jsonObj.取JSON文本 ()
' 保存到文件(UTF-8编码)
文件句柄 = 文件_写打开 ("C:\data.json", #写, , ,抖音足球直播
抖音足球直播
企鹅直播
企鹅直播
足球直播
爱奇艺直播
爱奇艺足球直播
足球直播
足球直播
iqiyi直播
足球直播
足球直播
QQ足球直播
QQ足球直播
足球直播
足球直播
QQ足球直播
QQ足球直播
足球直播
足球直播
快连
快连
快连
快连下载
快连
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
新浪足球直播
新浪足球直播
足球直播
足球直播
有道翻译
有道翻译
有道翻译
有道翻译
wps
wps
wps
wps
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
新浪足球直播
新浪足球直播
足球直播
足球直播



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