GuardMarket

json.diff

比较 JSON 数据

Report sorted leaf-path additions, removals and changes; this is a report, not an RFC 6902 patch.

Version 1.0.0确定性数据处理Backend required

使用场景 / Purpose

Json: diff. 本技能对提供的参数执行计算,输入输出契约如下。文档例子来自已实现函数的固定验收样例;网页本身不执行代码。

输入字段 / Parameters

字段类型要求约束与说明
before["object", "array", "string", "number", "boolean", "null"]必填 Required{"maxProperties": 1000, "maxItems": 1000, "maxLength": 60000, "minimum": -1e+100, "maximum": 1e+100}
after["object", "array", "string", "number", "boolean", "null"]必填 Required{"maxProperties": 1000, "maxItems": 1000, "maxLength": 60000, "minimum": -1e+100, "maximum": 1e+100}

输入例子 / Example input

{
  "before": {
    "price": 10
  },
  "after": {
    "price": 12,
    "sku": "A"
  }
}

预期输出 / Expected output

[
  {
    "path": "/price",
    "operation": "change",
    "before": 10,
    "after": 12
  },
  {
    "path": "/sku",
    "operation": "add",
    "after": "A"
  }
]
完整输入 JSON Schema
{
  "type": "object",
  "properties": {
    "before": {
      "type": [
        "object",
        "array",
        "string",
        "number",
        "boolean",
        "null"
      ],
      "maxProperties": 1000,
      "maxItems": 1000,
      "maxLength": 60000,
      "minimum": -1e+100,
      "maximum": 1e+100
    },
    "after": {
      "type": [
        "object",
        "array",
        "string",
        "number",
        "boolean",
        "null"
      ],
      "maxProperties": 1000,
      "maxItems": 1000,
      "maxLength": 60000,
      "minimum": -1e+100,
      "maximum": 1e+100
    }
  },
  "required": [
    "before",
    "after"
  ],
  "additionalProperties": false,
  "maxProperties": 1000
}
完整输出 JSON Schema
{
  "type": "array",
  "items": {
    "type": [
      "object",
      "array",
      "string",
      "number",
      "boolean",
      "null"
    ],
    "maxProperties": 1000,
    "maxItems": 1000,
    "maxLength": 60000,
    "minimum": -1e+100,
    "maximum": 1e+100
  },
  "minItems": 0,
  "maxItems": 10000
}