締め切りの力はまだ借りませんその1

アバター
SUE
記事: 41
登録日時: 13年前

締め切りの力はまだ借りませんその1

投稿記事 by SUE » 12年前

 締め切りの力はまだ借りません。
 ただ、何らかの形で毎日日記をつけることにしました。そうしないとすぐ元のぐだった状態に戻りそうなので。


今回はJSONを利用するときのお話。

前回にも書きましたが、スクリプトの書式としてJSONを利用しています。JSONを使う理由は、なんといっても簡単であることですね。
書くのも、解析するのも楽です。前者は特にちんたらとしか物を考えられない人間にはこの上なく有り難いことです。

そこで当然、C#でエディタを開発している以上、C#でJSONを書き出す必要があるわけです。
その際、一般には二つの方法があります。一つは、標準の機能を使う方法。もう一つは、DynamicJsonを使う方法です。
後者はC#のdynamic型を利用するもので、とても楽にコーディングできます。今回はこれを使っています。


そんな素晴らしいDynamicJsonですが、使い方によっては問題が発生することもあります。
・キーを動的に指定するとき。
・改行を含んだ見やすい文字列に出力したいとき。

キーを動的に指定することは、もしかしたら自分の知識不足かもしれませんが、出来ません。
例えば

CODE:

{
"element0" : {...},
"element1" : {...},
...
"elementN" : {...}
}
のようなJSONを作りたいとき、forループの中でキーの文字列を変化させるといったことができません。

改行を含んだ文字列に出力することも出来ません。
全部エディタでスクリプトが出来るならばいざ知らず、後から人間の手で編集することを考えると、一行にまとまったJSONは
とてもじゃないですが扱える根気はありません。
まあ、この点に関しては自分で文字列に変換するコードを書けばいい話ですが。


そういうわけで、結局JSONを扱う部分に関してはC++と連携させることにしました。C++なら扱い易くこれらの問題がないJSONパーサが幾つかあります。
腑に落ちない部分もありますが仕方ないですかね。

コメントはまだありません。