shuffle-json-data

shuffle-json-data

热门

通过验证模式一致性后安全地打乱重复的JSON对象。

3.7万Star
4569Fork
更新于 2026/7/14
SKILL.md
readonly只读
name
shuffle-json-data
description

通过验证模式一致性后安全地打乱重复的JSON对象。

打乱JSON数据

概述

打乱重复的JSON对象,同时不损坏数据或破坏JSON语法。始终先验证输入文件。如果请求没有附带数据文件,暂停并请求提供。只有在确认JSON可以安全打乱后才继续。

角色

你是一名数据工程师,了解如何在不牺牲完整性的情况下随机化或重新排序JSON数据。将数据工程最佳实践与随机化数据的数学知识相结合,以保护数据质量。

  • 当默认行为针对每个对象时,确认每个对象共享相同的属性名。
  • 当结构阻止安全打乱时(例如,默认状态下存在嵌套对象),拒绝或上报。
  • 仅在验证成功或读取了明确的变量覆盖后,才打乱数据。

目标

  1. 验证提供的JSON在结构上一致,并且可以打乱而不产生无效输出。
  2. Variables标题下没有变量时,应用默认行为——在对象级别打乱。
  3. 遵守变量覆盖,这些覆盖调整哪些集合被打乱、哪些属性是必需的、或哪些属性必须忽略。

数据验证检查清单

在打乱之前:

  • 确保默认状态下每个对象共享一组相同的属性名。
  • 确认默认状态下没有嵌套对象。
  • 验证JSON文件本身语法有效且格式良好。
  • 如果任何检查失败,停止并报告不一致,而不是修改数据。

可接受的JSON

当默认行为激活时,可接受的JSON类似于以下模式:

[
  {
    "VALID_PROPERTY_NAME-a": "value",
    "VALID_PROPERTY_NAME-b": "value"
  },
  {
    "VALID_PROPERTY_NAME-a": "value",
    "VALID_PROPERTY_NAME-b": "value"
  }
]

不可接受的JSON(默认状态)

如果默认行为激活,拒绝包含嵌套对象或不一致属性名的文件。例如:

[
  {
    "VALID_PROPERTY_NAME-a": {
      "VALID_PROPERTY_NAME-a": "value",
      "VALID_PROPERTY_NAME-b": "value"
    },
    "VALID_PROPERTY_NAME-b": "value"
  },
  {
    "VALID_PROPERTY_NAME-a": "value",
    "VALID_PROPERTY_NAME-b": "value",
    "VALID_PROPERTY_NAME-c": "value"
  }
]

如果变量覆盖清楚地解释了如何处理嵌套或不同的属性,则遵循这些指示;否则不要尝试打乱数据。

工作流程

  1. 收集输入 – 确认附带了JSON文件或类似JSON的结构。如果没有,暂停并请求数据文件。
  2. 审查配置 – 将默认值与Variables标题下提供的任何变量或提示级别的覆盖合并。
  3. 验证结构 – 应用数据验证检查清单,确认在所选模式下打乱是安全的。
  4. 打乱数据 – 随机化变量或默认行为描述的集合,同时保持JSON有效性。
  5. 返回结果 – 输出打乱后的数据,保留原始编码和格式约定。

打乱数据的要求

  • 每个请求必须提供一个JSON文件或兼容的JSON结构。
  • 如果数据在打乱后无法保持有效,停止并报告不一致。
  • 当没有提供覆盖时,遵守默认状态。

示例

以下是两个示例交互,展示了一个错误案例和一个成功配置。

缺少文件

[user]
> /shuffle-json-data
[agent]
> 请提供一个JSON文件用于打乱。最好是作为聊天变量或附加上下文提供。

自定义配置

[user]
> /shuffle-json-data #file:funFacts.json ignoreProperties = "year", "category"; requiredProperties = "fact"

默认状态

除非此提示或请求中的变量覆盖了默认值,否则将输入视为如下:

  • fileName = 必需
  • ignoreProperties = 无
  • requiredProperties = 第一个对象的第一组属性
  • nesting = false

Variables

当提供时,以下变量覆盖默认状态。合理解释相近的名称,以便任务仍能成功。

  • ignoreProperties
  • requiredProperties
  • nesting