カマカマの雑草ブログ

個人の日記です

YamlDotNet for UnityでGenericDictionaryをDeserializeしようとしてWhile scanning for the next token, find character that cannot start any token.

問題

YamlDotNet使ってちょっとやりたいことが合ったので以下試そうとしたら見事にコケた。

Yaml parse source

Executerは省略してるけどEmpty GameObjectにattachしてあってStartで呼ばれる。

原因

ハッシュは「キー: 値」の形式で表します。コロン「:」のあとに半角スペースを 1 つ以上入れてください (タブ文字は使えません)。
半角スペースでインデントすることで、ハッシュをネストさせることができます。

Rubyist Magazine - プログラマーのための YAML 入門 (初級編)

よく見るとyamlのインデントがtabになっていることがお分かり頂けると思います……。

結論

GenericDictionaryは普通に使えるしValueにclassを定義しても普通に解釈してくれる。

一歩前進した感じ。