Q:

How to access and parse posted json in vb.net

I'm New to vb.Net, I googled this but didn't find what I'm looking for,
the case is that I'm posting json using ajax to http handler, the json looks like:
 [
  {Id:1, view,:true , write:false},
  {Id:2, view: true , write:true}, ..etc
 ]

the posting part is working fine, but I'm stuck on how to get access to tree_data inside the httphandler and how to get the values of all the properties of the tree_data param. 
usually I'm accessing the posted values this way:
 Dim tree_data = context.Request("tree_data") \\ This Returning Nothing here, I think this way is used when the data type is not json

My Ajax code:
     var tree_data = getTreeData();
       // alert(tree_data.length);
        $.ajax({
            url: "Profiles_SubmitPermissions.ashx",
            type: "POST",
            data: JSON.stringify(tree_data),
            async: false,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            error: function (xhr, status, error) {
                alert(error)
            }
        }).done(function (data) {
            CreateTree('ACTMNG');
        });

The Code Inside http Handler:
Imports System.Web
Imports System.Web.Services
Imports System.Web.Script.Serialization

Public Class Profiles_SubmitPermissions
Implements System.Web.IHttpHandler

Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest

    context.Response.ContentType = "text/plain"
    context.Response.Write("Hello World!")

    Dim jsonSerializer As System.Web.Script.Serialization.JavaScriptSerializer = New System.Web.Script.Serialization.JavaScriptSerializer()
    Dim connectionString As String = UserIdentity.ClientConfig.ConnectionString
    'Get parameters                
    'I need to get access to tree_data json
    'I need to access to json properties such as id, view , write

End Sub

ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
    Get
        Return False
    End Get
End Property

End Class

A:

The C# Answer Suggested By @N0Alias whas very help full,
Vb.Net Version is:
Imported Libraries:
  Imports System.Web.Script.Serialization
  Imports System.IO

The Part of the code that will get the json from the request:
   Dim tree_data As String = Nothing
    HttpContext.Current.Request.InputStream.Position = 0
    Using inputStream As StreamReader = New StreamReader(HttpContext.Current.Request.InputStream)
        tree_data = inputStream.ReadToEnd()
    End Using

Dim jsonSerializer As System.Web.Script.Serialization.JavaScriptSerializer = 
New System.Web.Script.Serialization.JavaScriptSerializer()

    Dim permissions = jsonSerializer.Deserialize(Of List(Of Object))(tree_data) 

The Part of the code that parsing the json to extract values, and may be this piece of code can be written in a different way but that's what I used:
     For Each obj In permissions 
            Dim id As Integer
            Dim view As Boolean
            Dim write As Boolean
             For Each pair In obj // each object is a pair of key and value
                If pair.Key.Equals("Id") Then
                   id = pair.Value
                ElseIf pair.Key.Equals("view") Then
                   view = pair.Value
                ElseIf pair.Key.Equals("write") Then
                   write = pair.Value
                End If

             Next
           // Do something with the current id , view ,write parameters
     Next

