CSV替代项?

问题描述 投票:8回答:4

我打算构建一个RESTful服务,该服务将返回自定义文本格式。考虑到我的大量数据,XML / JSON太冗长了。我正在寻找基于行的文本格式。

CSV是显而易见的候选者。但是我想知道是否还有更好的东西。通过一些研究,我发现的唯一是CTXFielded Text

我正在寻找一种提供以下内容的格式:

  • 纯文本,易于阅读
  • 大多数软件平台都很容易解析
  • 列定义可以更改,而无需更改软件客户端

字段文本看起来非常好,我当然可以自己建立一个规范,但是我很想知道其他人做了什么,因为这肯定是一个非常老的问题。令人惊讶的是,那里没有更好的标准。

您有什么建议?

rest csv plaintext
4个回答
4
投票

我想说,因为CSV是标准的,并且每个人都可以在阳光下解析它,所以使用它。

如果您遇到这种情况,我会考虑使用带宽,并使用GZIP + XML,因为它非常容易使用。

并且,在此情况下,您始终可以要求您的用户支持GZIP并仅将其作为XML / JSON发送,因为这样做可以很好地消除线路上的冗余。


6
投票

我确定您已经考虑过这一点,但是我喜欢制表符分隔的文件(字段之间为\ t,每行末尾使用换行符)


4
投票

您可以尝试使用YAML,与XML或JSON等格式相比,其开销相对较小。

这里的例子:http://www.yaml.org/

令人惊讶的是,该网站的文本本身是YAML。


0
投票

我一直在思考这个问题。我想出了一种简单的格式,可以很好地用于您的用例:JTable。

 {
    "header": ["Column1", "Column2", "Column3"],
    "rows"  : [
                ["aaa", "xxx", 1],
                ["bbb", “yyy”, 2],
                ["ccc", “zzz”, 3]
              ]
  }

[如果需要,可以找到a complete specification of the JTable format,包括详细信息和资源。但这是不言而喻的,任何程序员都将知道如何处理它。实际上,唯一需要说的是这是JSON。

© www.soinside.com 2019 - 2024. All rights reserved.