万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    LitJSONハマリ Unity Script

    僕はこのような↓結果を想定してた。

    {
        "key1" : {"key2" : "data1", "key2" : "data2"}
    }
    

    しかし、実際は[]なるものが存在しているのであった。

    {
        "key1" : [{"key2" : "data1", "key2" : "data2"}]
    }
    



    よって、以下のようにコード書いて、

    var www : WWW = "http://hoge.com";
    yield www;
    if (www.error == null) {
        var data : JsonData = JsonMapper.ToObject.<JsonData>(www.text);
    }

    結果の取り出しを↓のようにしてしまうと、

    data["key1"]["key2"]
    



    ↓こんなエラーになる

    InvalidOperationException: Instance of JsonData is not a dictionary
    



    よって、このよう↓に[0]を間に挟んで取得する!

    data["key1"][0]["key2"]
    



    ちなみにこんなJSONだとしても

    {
        "key1" : []
    }
    



    こいつを通過しちゃう

    if (data != null)
    {
    
    }