【问题标题】:Json data formatting best practiceJson 数据格式化最佳实践
【发布时间】:2014-09-09 20:40:28
【问题描述】:

我有一个 SPA 网页。使用 ajax 请求加载数据。我需要在该页面上显示一些文化敏感数据。格式化此类数据的最佳方法是什么? 基本上我有两个选择:

1.将所有预格式化的数据发送到客户端(服务器上的预格式化)

Preformated
{
    DurrationInMinutes = '2 min'
    DurationInSeconds = '120 sec'
}

优点:

  • 简单的服务器端实现(Asp.net mvc 后端)。
  • 一切都在一个地方(BLL 中的一种方法)。
  • 更小的 JavaScript

缺点:

  • 可能的数据重复(以分钟为单位显示的相同持续时间数据, 秒,即不同的格式但相同的数据)。

2。向客户端发送原始数据(客户端格式)

RawData
{
        Durration = 1645678 // milliseconds        
}

优点:

  • 更简单的单元测试(我们可以在 c# 中测试所有内容)
  • 更易于维护 - 我们的开发人员在 c# 方面的经验更丰富
    Javascript

缺点:

  • 客户端需要做更多的工作
  • 我不确定是否所有数据格式都可以在 javascript 中轻松完成

编辑

我最终选择了客户端选项

谢谢

【问题讨论】:

    标签: javascript model-view-controller web-applications single-page-application


    【解决方案1】:

    对于数据的简单表示,两种方法都可以。但请记住其他一些注意事项:

    • 发送到客户端的所有数据原则上都可供用户使用,即使没有直接显示。在某些情况下,这可能是一个安全问题。
    • 将原始数据发送给客户端并让客户端处理其余部分,为在客户端进行动态查看提供了更多可能性
    • 根据应用程序和数据的类型,向客户端发送数据可以减少服务器的负载。但是,客户端速度较慢的用户可能会成为问题。

    如果这些考虑都不适用,我会选择最适合开发和维护的方法。答案取决于本地问题、资源、使用的框架等。

    【讨论】:

      【解决方案2】:

      我不明白服务器端选项的缺点 - 格式化一次会导致这种情况吗?特别是当您可以将本地化数据保存在资源文件中,并简单地让框架通过简单的配置来处理本地化?是的,AFAIK,纯 Javascript 不具备 .NET(或 Java,或任何其他框架,就此而言)所有相同的本地化功能。

      此外,客户端选项的优点 - 在您的开发人员经验不足的一侧进行编码如何有助于单元测试和维护?你以为它不在服务器端,就不需要经过测试就可以了吗?

      我的两分钱:除非您找到可以做到这一点的 Javascript 框架,否则让服务器端处理它。否则你将重新发明轮子。还要考虑到您在客户端的逻辑越多,您的网站在低端机器、平板电脑和手机上的外观和感觉就越差。

      【讨论】:

      • 对于服务器端选项的缺点,请查看我的问题中的示例(json 对象)
      猜你喜欢
      • 2012-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-22
      • 1970-01-01
      • 2018-06-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多