diff --git a/Cargo.lock b/Cargo.lock index d4375c4..5187bf8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2317,6 +2317,7 @@ dependencies = [ "rusqlite", "serde", "serde_json", + "serde_yaml", "tauri", "tauri-build", "tauri-plugin-dialog", @@ -3820,6 +3821,19 @@ dependencies = [ "syn 2.0.104", ] +[[package]] +name = "serde_yaml" +version = "0.9.34+deprecated" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" +dependencies = [ + "indexmap 2.10.0", + "itoa", + "ryu", + "serde", + "unsafe-libyaml", +] + [[package]] name = "serialize-to-javascript" version = "0.1.1" @@ -4957,6 +4971,12 @@ version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" +[[package]] +name = "unsafe-libyaml" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861" + [[package]] name = "url" version = "2.5.4" diff --git a/apps/desktop/src/pages/tools/JsonParserTool.tsx b/apps/desktop/src/pages/tools/JsonParserTool.tsx index e6c75d7..e1d06cd 100644 --- a/apps/desktop/src/pages/tools/JsonParserTool.tsx +++ b/apps/desktop/src/pages/tools/JsonParserTool.tsx @@ -46,6 +46,7 @@ const JsonParserTool: React.FC = () => {
  • • 支持处理大模型返回的不规范JSON数据
  • • 基于Tree-sitter解析器,提供高性能解析能力
  • • 支持注释、无引号键名、尾随逗号等非标准格式
  • +
  • • 智能识别并解析JSON字符串字段中的YAML内容
  • • 提供多种错误恢复策略和详细的解析统计
  • • 实时预览解析结果和错误信息
  • diff --git a/apps/desktop/src/services/tolerantJsonService.ts b/apps/desktop/src/services/tolerantJsonService.ts index a9c7b53..65f9521 100644 --- a/apps/desktop/src/services/tolerantJsonService.ts +++ b/apps/desktop/src/services/tolerantJsonService.ts @@ -170,6 +170,7 @@ export class TolerantJsonService { static getStrategyDescriptions(): Record { return { 'StandardJson': '标准JSON解析 - 使用原生JSON.parse()', + 'YamlStringParsing': 'YAML智能解析 - 自动识别并解析字符串中的YAML内容', 'ManualFix': '手动修复 - 自动修复常见格式错误', 'RegexExtract': '正则提取 - 使用正则表达式提取JSON片段', 'PartialParse': '部分解析 - 尝试解析部分有效的JSON内容'