using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using Newtonsoft.Json.Linq;

namespace Newtonsoft.Json.Tests.Documentation.Samples.Linq
{
    public class QueryJsonDynamic
    {
        public void Example()
        {
            #region Usage
            string json = @"[
              {
                'Title': 'Json.NET is awesome!',
                'Author': {
                  'Name': 'James Newton-King',
                  'Twitter': '@JamesNK',
                  'Picture': '/jamesnk.png'
                },
                'Date': '2013-01-23T19:30:00',
                'BodyHtml': '&lt;h3&gt;Title!&lt;/h3&gt;\r\n&lt;p&gt;Content!&lt;/p&gt;'
              }
            ]";

            dynamic blogPosts = JArray.Parse(json);

            dynamic blogPost = blogPosts[0];

            string title = blogPost.Title;

            Console.WriteLine(title);
            // Json.NET is awesome!

            string author = blogPost.Author.Name;

            Console.WriteLine(author);
            // James Newton-King

            DateTime postDate = blogPost.Date;

            Console.WriteLine(postDate);
            // 23/01/2013 7:30:00 p.m.
            #endregion
        }
    }
}