title: JSON Doesn't set dictionary
body: <p>I have the following JSON input from a webserver:</p>
  
  <pre><code>{
      "success":1,
      "return":{
          "45677":{
              "pair":"aaaa",
              "type":"bbbbbbbb",
              "amount":1.00000000,
              "rate":3.00000000,
              "timestamp_created":1342448420,
              "status":0
          }
      }
  }
  </code></pre>
  
  <p>I'm using Newtonsoft JSON.net.</p>
  
  <p>I have the following class:</p>
  
  <pre><code>public class ActiveOrders
      {
          public Dictionary&lt;int, Order&gt; Dictionary { get; private set; }
  
          public static ActiveOrders ReadFromJObject(JObject o)
          {
              if (o == null) return null;
  
              return new ActiveOrders
              {
                  Dictionary =
                      o.OfType&lt;KeyValuePair&lt;string, JToken&gt;&gt;()
                          .ToDictionary(item =&gt; int.Parse(item.Key), item =&gt; Order.ReadFromJObject(item.Value as JObject))
              };
          }
      }
  </code></pre>
  
  <p>It doesn't return null, which means the answers ok, as it is in my other methods. But the 
   result of ActiveOrders.Dictionary is empty.</p>
  
  <p>Here is the class Order:</p>
  
  <pre><code>public class Order
  {
      public BtcePair Pair { get; private set; }
      public TradeType Type { get; private set; }
      public decimal Amount { get; private set; }
      public decimal Rate { get; private set; }
      public UInt32 TimestampCreated { get; private set; }
      public int Status { get; private set; }
  
      public static Order ReadFromJObject(JObject o)
      {
          if (o == null) return null;
  
          return new Order
          {
              Pair = BtcePairHelper.FromString(o.Value&lt;string&gt;("pair")),
              Type = TradeTypeHelper.FromString(o.Value&lt;string&gt;("type")),
              Amount = o.Value&lt;decimal&gt;("amount"),
              Rate = o.Value&lt;decimal&gt;("rate"),
              TimestampCreated = o.Value&lt;UInt32&gt;("timestamp_created"),
              Status = o.Value&lt;int&gt;("status")
          };
      }
  }
  </code></pre>
  
  <p>The types are correct, as are my other classes, they all look the same. </p>
  
  <p>I would like some ideas to make it work. Any advice?</p>