Json数据格式化的最佳实践

Json data formatting best practice

本文关键字:最佳 格式化 数据 数据格式 Json      更新时间:2023-09-26

我有一个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不具备。net(或Java,或任何其他框架)的所有相同的本地化能力。

另外,客户端选项的优点是——在你的开发人员缺乏经验的那一边编码如何帮助单元测试和维护?你认为仅仅因为它不在服务器端,它就不需要测试吗?

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