Ahsan Khurshid
Ahsan Khurshid

Reputation: 9469

Getting Values of a JSON Object using webmeothd in vb.net

I got stuck while getting value of a JSON object in vb.net. My JSON request posts data like given below:

function submitEmail() {
    var ClientsPersonalInfo = {
        FullName: $("#FullName").val(),
        PhoneNumber: $("#PhoneNumber").val(),
        EmailAddress: $("#EmailAddress").val(),
        DOB: $("#DOB").val(),
        Occupation: $("#Occupation").val(),
        NINumber: $("#NINumber").val(),
        FullAddress: $("#FullAddress").val()
    }

    var ClientsData = {};
    ClientsData.ClientsPersonalInfo = ClientsPersonalInfo;

    var d = '{"ClientsData":' + JSON.stringify(ClientsData) + '}'

    $.ajax({
        type: "POST",
        url: "add-new-client.aspx/SubmitEmail", // WebMethod Call
        data: d,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (response) {
            alert(response)
        },
        failure: function (msg) {
            alert(msg);
        }
    });
}

JSON Object Looks Like

{
"ClientsPersonalInfo": {
    "FullName": "",
    "PhoneNumber": "",
    "EmailAddress": "",
    "DOB": "",
    "Occupation": "",
    "NINumber": "",
    "FullAddress": ""
    }
}

The above request returns an object in vb.net

VB Code:

<WebMethod()> _
    Public Shared Function SubmitEmail(ByVal ClientsPersonalInfo As Object) As String
        'What to do next to get object "ClientsPersonalInfo"
        'I want to access properties of the object like
        'Dim name As String = ClientsPersonalInfo.FullName

        Return "Successfully Converted."
    End Function

No I want to get values of this object and needs to append in a table. Please guide me how to get values of the above object? I am new in vb.net. Please guide. Thanks!

Upvotes: 0

Views: 999

Answers (1)

Racil Hilan
Racil Hilan

Reputation: 25351

First, you need to add the ClientsData and ClientsPersonalInfo classes to your web service:

Public Class ClientsPersonalInfo
     Public Property FullName As String
     Public Property PhoneNumber As String
     Public Property EmailAddress As String
     Public Property DOB As String
     Public Property Occupation As String
     Public Property NINumber As String
     Public Property FullAddress As String
 End Class

 Public Class RootObject
     Public Property ClientsPersonalInfo As ClientsPersonalInfo
 End Class

Now, you can simply change the parameter type in your web service method and .Net engine will do the parsing for you:

<WebMethod()> _
Public Shared Function SubmitEmail(ByVal MyClientsPersonalInfo As ClientsPersonalInfo) As String
    'You can access properties of the object like
    Dim name As String = MyClientsPersonalInfo.FullName

    Return "Successfully Converted."
End Function

Upvotes: 1

Related Questions