I have been a tutorial to enable web service to fetch data from url. However, in the tutorial, it asks to add System.Json. I have added using System.Json, but it gives me an error.
// Here is the code that I have done in C# and it works very well
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft;
using Newtonsoft.Json;
namespace Weather_App
{
    class Program
    {
        static void Main(string[] args)
        {
            Uri uri = new Uri("http://api.wunderground.com/api/key/conditions/q/CA/Houston.json");
            WebRequest webRequest = WebRequest.Create(uri);
            WebResponse response = webRequest.GetResponse();
            StreamReader stramreader = new StreamReader(response.GetResponseStream());
            String responseData = stramreader.ReadToEnd();
            var outObject = JsonConvert.DeserializeObject<Component.RootObject>(responseData);
            Console.WriteLine(responseData);
            Console.ReadLine();
        }
    }
}
// Here is the code that I would like to implement same functionality in Xamarin, but having difficulty in using system.json
using System;
using System.Collections.Generic;
using System.IO;
using System.Net;
using Newtonsoft.Json;
using Xamarin.Forms;
using System.Xml;
using System.Json;
namespace Exercise21
{   
    public partial class MyPage : ContentPage
    {   
        public MyPage ()
        {
            InitializeComponent ();
            CallWebService ();
        }
        private async void CallWebService()
        {
            Uri url = new Uri ("http://api.wunderground.com/api/key/conditions/q/CA/Houston.json");
            var httpReq = (HttpWebRequest)HttpWebRequest.Create (url);
            httpReq.BeginGetResponse ((ar) => {
                var request = (HttpWebRequest)ar.AsyncState;
                using (var response = (HttpWebResponse)request.EndGetResponse (ar)) {                           
                    var s = response.GetResponseStream ();
                    var j = (JsonObject)JsonObject.Load (s);
                    var results = (from result in (JsonArray)j ["results"]
                                   let jResult = result as JsonObject
                                   select jResult ["text"].ToString ()).ToArray ();
                    RunOnUiThread (() => {
                        ListAdapter = new ArrayAdapter<string> (this,
                            Resource.Layout.TweetItemView, results);
                    });
                }
            }, httpReq);
        }
    }
}
