`
rensanning
  • 浏览: 3517239 次
  • 性别: Icon_minigender_1
  • 来自: 大连
博客专栏
Efef1dba-f7dd-3931-8a61-8e1c76c3e39f
使用Titanium Mo...
浏览量:37552
Bbab2146-6e1d-3c50-acd6-c8bae29e307d
Cordova 3.x入门...
浏览量:604563
C08766e7-8a33-3f9b-9155-654af05c3484
常用Java开源Libra...
浏览量:678450
77063fb3-0ee7-3bfa-9c72-2a0234ebf83e
搭建 CentOS 6 服...
浏览量:87471
E40e5e76-1f3b-398e-b6a6-dc9cfbb38156
Spring Boot 入...
浏览量:399993
Abe39461-b089-344f-99fa-cdfbddea0e18
基于Spring Secu...
浏览量:69115
66a41a70-fdf0-3dc9-aa31-19b7e8b24672
MQTT入门
浏览量:90611
社区版块
存档分类
最新评论

数据格式(CSV,XML,JSON,YAML)

 
阅读更多
(1) 文本

定义固定的格式,各数据长度大多固定(某个字节到某个字节的代表一个数据),比如Log文件。比如:
引用
101rensanning36male 
102tom       30male 
103ruby      25female


大多作为数据序列化时,这样的数据也不需要换行:
引用
101rensanning36male  102tom       30male  103ruby      25female


(2) CSV: Comma-Separated Values

逗号分隔的数据,默认Excel打开。一般第一行是标题,第二行以后为数据,一般改行代表数据结束,如果数据中有空格/改行等特殊字符时需要用双引号括起来。多用于数据的导入导出。还有变形定义比如TSV,基于Tab分隔数据格式。常见文件:data.csv

no,name,age,gender
101,rensanning,36,male
102,tom,30,male
103,ruby,25,female


(3) XML: Extensible Markup Language

嵌套标记代表数据层次结构,多用于提供API(Web Service)、Java配置文件、Office文件(DOCX)等。如果数据中有特殊字符比如【&】【<】【>】等需要转成相应的参照实体。常见文件:pom.xml
<?xml version=”1.0″encoding=”utf-8″?>
<list>
  <customer>
    <no>101</no>
    <name>rensanning</name>
    <age>36</age>
    <gender>male</gender>
  </customer>

  <customer>
    <no>102</no>
    <name>tom</name>
    <age>30</age>
    <gender>male</gender>
  </customer>

  <customer>
    <no>103</no>
    <name>ruby</name>
    <age>25</age>
    <gender>female</gender>
  </customer>
</list>


(4) JSON: JavaScript Object Notation

大括号(方括号)代表数据层次结构,XML的替代品,多用于提供API(REST),配置文件、NoSQL数据库等。如果数据中有特殊字符比如【"】【\】【/】等,需要通过转义字符转义。支持string/number/true/false/null/array/object,常见文件:package.json

[
  {"no": 101, "name": "ruby", "age": 25, "gender": "female"},
  {"no": 102, "name": "tom", "age": 30, "gender": "male"},
  {"no": 103, "name": "rensanning", "age": 36, "gender": "male"}
]


(5) YAML: YAML Ain't Markup Language

使用空格缩进代表数据的层次结构,多用于配置文件。常见文件:application.yml

list:
  -  no: 101
     name: ruby
     age: 25
     gender: female
  -  no: 102
     name: tom
     age: 30
     gender: male
  -  no: 103
     name: rensanning
     age: 36
     gender: male


(6) 其他

.properties (Java)
Java程序用于配置程序参数,也用于存储多国语本地化文字,比如log4j.properties、messages.properties
server.address=localhost
server.port=8081


.ini (Windows)
Windows平台的配置文件,比如php.ini、mysql.ini
[server]
address = localhost
port = 8081


.conf (Linux)
Linux平台的配置文件,大多有自己的特殊语法, 比如httpd.conf、nginx.conf
server.address = localhost
server.port = 8081


.plist (property list) Mac
<plist version="1.0">
<dict>
	<key>server</key>
	<dict>
		<key>address</key>
		<string>localhost</string>
		<key>port</key>
		<string>8081</string>
	</dict>
</dict>
</plist>


.groovy/.gradle
server {
  address = "localhost"
  port = 8081
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics