Skip to content
This repository was archived by the owner on Aug 18, 2025. It is now read-only.

Commit fbca9f8

Browse files
committed
更新CHANGELOG.md,新增v0.2.4版本信息,包含JSON库的功能介绍及修复记录。具体包括JSON字符串解析、格式化、对象和数组创建等功能的实现,以及针对解析错误、数值类型处理和命名空间处理问题的解决方案。
1 parent 2fd40e1 commit fbca9f8

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

CHANGELOG.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,38 @@
11
# CodeNothing 更新日志
2+
## [v0.2.4] - 2025-07-16
3+
### 新增
4+
- 添加了json库,支持JSON字符串解析和处理。
5+
- 解析JSON字符串 (json::parse)
6+
- 格式化JSON (json::format)
7+
- 创建JSON对象 (json::create_object)
8+
- 创建JSON数组 (json::create_array)
9+
- 从JSON中提取值 (json::get_value)
10+
- 检查JSON是否有效 (json::is_valid)
11+
- 合并JSON对象 (json::merge)
12+
13+
### 修复
14+
#### 问题1:JSON字符串解析错误
15+
##### 症状:尝试解析JSON字符串时出现"key must be a string at line 1 column 2"错误。
16+
##### 解决方案:
17+
- 添加了preprocess_json_string函数预处理JSON字符串,处理转义字符问题
18+
- 添加了fix_json_string函数修复常见的JSON格式问题,如为没有引号的键添加引号
19+
- 添加了从HTTP响应中提取JSON部分的功能
20+
- 现在可以正确解析和处理JSON字符串,包括从HTTP响应中提取JSON数据。
21+
#### 问题2:数值类型处理问题
22+
##### 症状:数字字符串被当作普通字符串处理,而不是数值类型。
23+
##### 解决方案:
24+
- 在cn_create_object和cn_create_array函数中增加了数字类型检测
25+
- 尝试将字符串解析为整数或浮点数,如果成功则创建数字类型的JSON值
26+
- 现在数字字符串能够被正确识别为JSON数值类型。
27+
#### 问题3:库命名空间处理问题
28+
##### 症状:解析器中硬编码了特定库的命名空间(如http, std, json),导致无法自动识别新库。
29+
##### 解决方案:
30+
- 移除了表达式解析器中的硬编码命名空间判断
31+
- 改进了解释器中的命名空间函数调用处理逻辑
32+
- 完全移除了特殊处理std命名空间的硬编码逻辑,使用统一的命名空间处理方式
33+
- 现在可以自动识别所有库的命名空间,无需修改源码
34+
- 统一了命名空间函数调用的接口,提高了扩展性
35+
236
## [v0.2.3] - 2025-07-16
337

438
### 新增

0 commit comments

Comments
 (0)