title: Java's "org.json" vs C#'s "Newtonsoft.Json.JsonConvert"
body: <p>I'm looking for a <strong>C# (.NET)</strong> library that parses stringified JSON to an Object.</p>
  
  <p>The problem with <code>Newtonsoft.Json.JsonConvert</code>, to me, is that you always need a concrete type for deserialization:</p>
  
  <pre><code> SomePredefinedType bla = JsonConvert.DeserializeObject&lt;SomePredefinedType&gt;(stringifiedJson);
  </code></pre>
  
  <p>So I end with many classes that I don't use anymore.<br>
  class SomePredefinedType is used <strong>once</strong>, in that line, and never more.</p>
  
  <p>Of course the navigation is then nicer, you can call properties just like:</p>
  
  <pre><code>string name = bla.Name;
  string age = bla.Age;
  </code></pre>
  
  <p>In <strong>Java</strong>, I've used org.json, in which the deserialization goes likes this:</p>
  
  <pre><code>JSONObject jsonObject = new JSONObject(stringifiedJson)
  </code></pre>
  
  <p>The navigation requires that you know what the JSON structure is. But this is always a fact (otherwise how could I create the <code>SomePredefinedType</code> class?)</p>
  
  <pre><code>jsonObject.getString("Name");
  jsonObject.getString("Age");
  </code></pre>
  
  <p>The question is:<br>
  Is there a org.json for C#? I don't like Newtonsoft.Json.<br>
  I like this way of parsing anonymously.</p>
  
  <p><br><br><br><br><br></p>
  
  <p><strong>Edit:</strong>
  Ok, I tend to use simplified examples in my posts, because I don't like when people post a bunch of code. I like to talk on the basis, thats why I post simple code.</p>
  
  <p>Here is what I can't achieve in a simple manner, as with org.json I would:</p>
  
  <pre><code>        // Here not using any object, just as answers below stated I could:
          dynamic jsonProviders = JsonConvert.DeserializeObject(stringifiedJson);
  
          foreach (dynamic jsonProvider in jsonProviders)
          {
              // Fetch provider
              SMSProvider provider = db.SMSProviders.SingleOrDefault(p =&gt; p.SMSProviderId == jsonProvider.SMSProviderId);     // What the hell do I use here? thats an error
              CheckIfExists(provider);
  
              provider.Order = jsonProvider.Order;
          }
  </code></pre>