gpt4 book ai didi

json - 显示网络服务公开嵌套或平面列表?

转载 作者:数据小太阳 更新时间:2023-10-29 01:55:52 26 4
gpt4 key购买 nike

当设计一个webservice时,无论是soapxml还是json:你更喜欢flat还是嵌套列表?

例子:

嵌套:

<carRequest>
<cars>
<car>
<manufature />
<price />
<description />
</car>
<car>
<manufature />
<price />
<description />
</car>
</cars>
</carRequest>

平面:

<carRequest>
<car>
<manufature />
<price />
<description />
</car>
<car>
<manufature />
<price />
<description />
</car>
</carRequest>

一个比另一个有什么优势?

最佳答案

结合个人风格、工具(它们的默认配置、局限性或易用性)、需要从单个对象表示支持多种 MIME 类型等,各有利弊。我不会一一详述那 - 因为对某些人有效的方法可能对其他人来说不是一个好的解决方案 - 但我只想指出一些事情......

哪个看起来更自然,扁平元素还是包裹元素?人们通常如何看待重复的元素?例如,<manufature> , <price><description>包裹在 <car> 中元素。为什么?因为它们是相关的,一起构成了一个结构。多个 <car> s 也相关并且也形成一个结构:<car> 的列表秒。它在您的表示和 XML 模式中更具表现力,并且更具可读性。但当然现在我们进入个人喜好和完全 war ......

包裹元素还有一个优点。您如何表达空车列表和空车列表?

如果元素是扁平的并且你没有汽车,那么当你将它分解成一个对象时,这代表什么?

<carRequest>
</carRequest>

你的请求有没有cars = nullcars = [] ?你不知道。

如果你使用嵌套元素,那么 cars = null这是:

<carRequest>
</carRequest>

同时 cars = []这是:

<carRequest>
<cars>
</cars>
</carRequest>

既然您提到了 SOAP,您可能在某些时候需要考虑跨技术和工具的互操作性(请参阅 Why is it important to be WS-I Basic Profile compliant?),它们对 XML 在 SOAP 消息中的外观有规定。 The style called document/literal wrapped pattern is preferred .

这是一个广泛的主题,作为 TL;DR,我只能想到 "choose your poison" .希望我的回答对您有所帮助。

关于json - 显示网络服务公开嵌套或平面列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38434082/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com