从Web服务使用JSON进行响应的最佳做法是什么?

时间:2014-11-18 10:49:01

标签: json

我是网络开发的新手,我尝试构建REST服务,其中Web服务传达的是JSON。

现在我想知道的是哪种更好的方式来回应JSON?

方式1

{
    "status": "success",
    "messages": {},
    "data": {
         "Some Data": "About Something",
         "Some Other Data": "About Something Else"
    }
}

方式2

[
    "Some Data": "About Something",
    "Some Other Data": "About Something Else"
]

1 个答案:

答案 0 :(得分:1)

如果您像第一个版本一样注释响应,那么您会发送更多数据,但是您可以打开诸如分页等内容的大门。如果客户端一次只需要少量数据,则需要对数据进行分页,生成整个数据集会过于繁重。

如果你像第二个版本一样提供原始响应,那么你发送的数据就会减少,但是你不太能够支持像分页这样的东西。你可以在那里强制它们,但客户端必须知道服务器的事情,这会导致它们之间的耦合增加。

所以这两种方法都适用于不同的情况。碰巧,诸如django rest framework之类的REST库提供了对这两种响应的支持。这清楚地表明,任何一方都可以工作,而且更适合你的情况更适合你的环境。

我想补充一点,您可以使用HTTP响应代码而不是显式消息来指示请求的成功状态。