我正在为预订应用程序设计一个 RESTful API。您可以索取住宿 list 。这就是我真的不知道如何设计 JSON 表示的地方。这是我的 XML 表示:
<?xml version="1.0" encoding="utf-8"?>
<accommodations>
<accommodation>
<name>...</name>
<category>couch</category>
</accommodation>
<accommodation>
<name>...</name>
<category>room</category>
</accommodation>
<accommodations>
我第一次尝试将其转换为 JSON 的结果是此输出 (1):
{
"0": {
"name": "...",
"category": "couch"
},
"1": {
"name": "...",
"category": "room"
}
}
但是当我查看其他 API 是如何做到这一点时,我发现了一些看起来更像这样的东西 (2):
[
{
"name": "...",
"category": "couch"
},
{
"name": "...",
"category": "room"
}
]
我知道版本 1 是一个对象,版本 2 是一个数组。
但是在这种情况下哪个更好呢?
最佳答案
您可以按如下方式对 JSON 进行建模:
{
"accomodations" : [
{
"accomodation" : {
"name": "...",
"category": "couch",
"uri": "http://example.org/accomodations/accomodation_1"
}
},
{
"accomodation": {
"name": "...",
"category": "room",
"uri": "http://example.org/accomodations/accomodation_2"
}
}
]
}
并且您可以通过 GET http://example.org/accomodations
返回它
然后可以通过 POST http://example.org/accomodations
在正文中包含类似以下内容来创建新住宿:
{
"accomodation": {
"name": "...",
"category": "room"
}
}
关于xml - REST 风格的 API : How to model JSON representation?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2737809/