首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >最佳实践json?

最佳实践json?
EN

Stack Overflow用户
提问于 2010-12-14 12:29:21
回答 4查看 967关注 0票数 0

当使用spring rest服务器端生成json时,它将如下所示

代码语言:javascript
复制
{"userInfo":{"id":123,"userFullName":"full name"}}    with nested 'userInfo'

json应该以这种方式生成被认为是最佳实践,还是应该像下面这样生成

不带嵌套'userinfo‘的{"id":88,"userFullName":"dfXXXXXXXXXX"}

我问的原因是,如果我使用以前的技术,在我的客户机上,我需要提取用户信息作为JSONObject,然后才能获得json数据。哪种方式更好?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-12-14 12:40:17

这就像是在问这两个xml片段中哪一个更好:

代码语言:javascript
复制
<userinfo>
  <id></id>
  <username></username>
</userinfo>

代码语言:javascript
复制
<id></id>
<username></username>

我更喜欢第一种格式,因为它更具可读性,但当然,从第二种格式生成的数据较少。最佳实践是拥有一个可维护的代码。就像yoda回答的那样

从代码管理员的角度来看,我会选择第一个选项“

”。

票数 4
EN

Stack Overflow用户

发布于 2010-12-14 12:34:06

从维护的角度来看,我会选择第一个选项,因为后面可能需要额外的信息。除此之外,没有太大的不同。

票数 2
EN

Stack Overflow用户

发布于 2010-12-14 12:40:36

我不认为任何一种解决方案都比另一种更正确。我认为更合适的解决方案在很大程度上取决于上下文。

话虽如此,在我看来,虽然您提到的第一个解决方案需要更多的处理,但它也提供了更多的灵活性。JSON非常适合表示数据层次和结构。如果您想要添加更多的数据或结构,我相信第一种解决方案(使用嵌套的userInfo)会更顺利地处理转换。

例如,假设您希望支持多个用户的信息,那么您需要进行的惟一切换就是让userInfo包含一个由多个userInfo对象组成的JSON数组。更进一步,假设您还希望完全包含一组新数据-例如locationInfo -您将受益于将这两个不同的数据类分开的嵌套层次结构。

最终,我相信正确的解决方案是最适合您的应用程序上下文的解决方案,但我鼓励您在如何处理您的设计时进行前瞻性思考,并尝试预测您将来可能如何使用此实现。

只是发人深省而已。

祝好运!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4435870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档