CSVとかJSONとかシリアライズとか

最近、CSVとかJSONのことについて考えている。一週間前くらいからだろうか。
データを入出力するには、シリアライズされたデータをやりとりする必要があるからだ。
シリアライズの定義をwikipediaでみてみると、
http://ja.wikipedia.org/wiki/%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%A9%E3%82%A4%E3%82%BA
オブジェクトをJSONとかXMLなどのテキストデータもしくは、ひとかたまりのバイナリデータに変換する、くらいの意味らしい。テキストにせよバイナリにせよ、たしかに直列だから、直列化っていうことなんだろうか。
データベースの内容をCSVに吐き出したりするのも、シリアライズのひとつとして考えて良さそうな気もするが、wikipediaの記事だけみると、そういうのが含まれるかどうか判断つきかねる。
が、自分のなかではテーブル内容をCSVにするのもシリアライズってきがする。ここでは、
シリアライズ=構造をもったデータをバイト列もしくは文字列に変換すること
くらいにしておきたい。文字列はもちろんバイト列にエンコードできるので、バイト列か文字列かはここでは大差ない。
。。。
でも構造がなくても、たとえば整数なんていう値も、文字列に変換できるか。

いかんいかん、脱線してしまった。シリアライズとはなにか、とかそういうことを書きたいんじゃなかった。ただ、Webアプリを作ってると、オブジェクトのデータとか、データベース内のデータをCSVJSONで入出力したりすることってたくさんあるよね、という話をしたかったんだ。GETやPOSTでデータを送るとのも、やっぱりシリアライズのようなものだし。
で、CSVをよんでデータベースに書き込む、ってことは良くあることだと思うんだけど、
そのときって、この行をキーにして、とか該当の値がデータベースになかったら、新しく行をINSERTしたり、オブジェクトをつくったり、とか該当するものがあれば、それを引っ張ってきてその属性なりカラムなりに、値をセットとか、まぁそんな感じのことを行うわけだと思うが、そういうことについて最近考えてることについて書こうと思ったわけだが、もう眠くなってしまった。。。