欢迎来到萧静默的博客

书山有路勤为径,学海无涯苦作舟。

SAP-PO:怎么控制传输的内容在单数据情况下是数组格式还是单对象格式及数据格式

像下图,没设置前是对象格式

image

 设置后是数组格式

可以在CC的Custom XML/JSON Comversion Rules下进行设置

sender通道是在general第一个页签  receiver是在dataformat页签

image

 如果字段为空则在结构中就不会显示该字段,需要在函数中可以配置一下

image

 格式的转换也可以在这里进行

image

 

描述有效值
XML 命名空间 XML 元素的 XML 命名空间  
前缀 XML 元素的 XML 命名空间前缀  
名字 XML 元素名称  
类型

XML 元素类型。

当前支持以下类型:字符串、整数、十进制、布尔值。

只要类型值是有效值列表中提到的符号之一,选择哪种符号都没有区别。

如果未指定值,则不会应用特定的 XML/JSON 转换指令,并应用 Jettison 处理器的默认逻辑。


字符串类型

string

xs:string

xsd:string

整数类型

int

整数

xs:integer

xsd:integer

十进制类型

十进制

数字

浮点

数 xs:decimal

xsd:decimal

布尔类型

bool boolean



xs:boolean

xsd:boolean
阵列类型

XML 元素是否为数组的指示器。

选择数组类型指示器值的哪种表示法没有区别,只要它是有效值列表中提到的表示法之一。

如果未指定值,则默认情况下,数组类型指示器设置为“false”。


如果元素是数组

1

true

是 如果

元素不是数组

0



false 
默认值

如果相应 XML 元素的 XML/JSON 转换失败,将分配给 JSON 元素的值。

例如,在提供的演示中,元素“Quantity”的值将作为整数处理。如果原始值无法转换为整数(例如,它不仅包含数字字符,而且其内容是字母数字),则 JSON 输出将接收此类元素的默认值,在本例中为“0”。

应该注意的是,默认值不会根据字段“Type”中指定的元素类型进行验证 - 它被视为字符串。例如,通过这种方式,可以在提供的演示中为元素“数量”指定默认值“无效值”。在激活通信通道期间,也不会在运行时通过 REST 适配器执行消息期间发出错误,即使提供的默认值与元素类型(整数)不匹配也是如此。考虑到这一点,为了一致性,应注意提供的默认值及其对元素类型的合规性。


任何值。

以下值被特殊处理:

“null”

(带引号)- 解释为字符串值 “null” null



不带引号) - 解释为 null

“”

(仅引号) - 解释为空字符串值

具体参考:PI/PO 中的 REST 适配器:增强的 XML/JSON 对话... - SAP 社区

posted @ 2025-09-12 11:45  萧静默  阅读(46)  评论(0)    收藏  举报