Loading
Omnistudio 数据映射器中的 XML 和 JSON

Omnistudio 数据映射器中的 XML 和 JSON

除了 JSON 之外,数据映射器还可以有 XML 输入和输出。数据映射器中的 XML 格式是无序键值,类似于 JSON 的结构。

要指定 XML 输出元素的序列化顺序,请使用按所需顺序组成的 XML 结构填充“预期 XML 输出”窗格。

此示例比较了 JSON 和 XML 中的等效结构。

JSON

{
  "Root": {
    "#text": "rootValue",
    "@attribute1": "attVal1",
    "#ns": "http://namespace1",
    "#ns#a": "http://namespace2",
    "Child": [{
        "@attribute2": "attval2"
      },
      {
        "#text": "childValue"
      }
    ]
  }
}

XML 文件

<Root attribute1="attVal1" xmlns="http://namespace1" xmlns:a="http://namespace2">
   rootValue
   <Child attribute2="attval2"></Child>
   <Child>childValue</Child>
</Root>

通过使用这些约定来处理格式之间差异的数据映射器,将 XML 转换为 JSON。

输入 XML 节点中的值被转换为带有密钥#text的输出 JSON。
XML:
<Root>rootValue</Root>
                    
JSON:
{
  "Root": {
    "#text": "rootValue"
  }
}
输入 XML 节点中的值被转换为输出 JSON,其密钥前面有一个 at 符号 (@)。
XML:
<Root attribute1="attVal1"></Root>
JSON:
{
  "Root": {
   "@attribute1": "attVal1"
  }
}
输入 XML 节点中的命名空间在输出 JSON 中以 #ns 开头。
XML:
<Root xmlns="http://namespace1" xmlns:a="http://namespace2">
</Root>
JSON:
{
  "Root": {
"#ns":"http://namespace1",
"#ns#a":"http://namespace2,
  }
}
冒号是数据映射器映射中的保留字符,由 # 替换。
XML:
<Root:Data>data</Root:Data>
JSON:
{
  "Root#Data": {
    "#text":"data",
  }
}
 
正在加载
Salesforce Help | Article