当使用spring rest服务器端生成json时,它将如下所示
{"userInfo":{"id":123,"userFullName":"full name"}} with nested 'userInfo'json应该以这种方式生成被认为是最佳实践,还是应该像下面这样生成
不带嵌套'userinfo‘的{"id":88,"userFullName":"dfXXXXXXXXXX"}
我问的原因是,如果我使用以前的技术,在我的客户机上,我需要提取用户信息作为JSONObject,然后才能获得json数据。哪种方式更好?
发布于 2010-12-14 12:40:17
这就像是在问这两个xml片段中哪一个更好:
<userinfo>
<id></id>
<username></username>
</userinfo>或
<id></id>
<username></username>我更喜欢第一种格式,因为它更具可读性,但当然,从第二种格式生成的数据较少。最佳实践是拥有一个可维护的代码。就像yoda回答的那样
从代码管理员的角度来看,我会选择第一个选项“
”。
发布于 2010-12-14 12:34:06
从维护的角度来看,我会选择第一个选项,因为后面可能需要额外的信息。除此之外,没有太大的不同。
发布于 2010-12-14 12:40:36
我不认为任何一种解决方案都比另一种更正确。我认为更合适的解决方案在很大程度上取决于上下文。
话虽如此,在我看来,虽然您提到的第一个解决方案需要更多的处理,但它也提供了更多的灵活性。JSON非常适合表示数据层次和结构。如果您想要添加更多的数据或结构,我相信第一种解决方案(使用嵌套的userInfo)会更顺利地处理转换。
例如,假设您希望支持多个用户的信息,那么您需要进行的惟一切换就是让userInfo包含一个由多个userInfo对象组成的JSON数组。更进一步,假设您还希望完全包含一组新数据-例如locationInfo -您将受益于将这两个不同的数据类分开的嵌套层次结构。
最终,我相信正确的解决方案是最适合您的应用程序上下文的解决方案,但我鼓励您在如何处理您的设计时进行前瞻性思考,并尝试预测您将来可能如何使用此实现。
只是发人深省而已。
祝好运!
https://stackoverflow.com/questions/4435870
复制相似问题