How to access JSON Object name/value?

ajax, asp.net-mvc-3, jquery, json

Solution

In stead of parsing JSON you can do like followng:

$.ajax({
  ..
  dataType: 'json' // using json, jquery will make parse for  you
});

To access a property of your JSON do following:

data[0].name;

data[0].address;

Why you need `data[0]` because data is an array, so to its content retrieve you need `data[0]` (first element), which gives you an object `{"name":"myName" ,"address": "myAddress" }`.

And to access property of an object rule is:

Object.property

or sometimes

Object["property"] // in some case

So you need

`data[0].name` and so on to get what you want.

If you not

set `dataType: json` then you need to parse them using `$.parseJSON()` and to retrieve data like above.

Problem

``` function (data) { //add values based on activity type //data = JSON.parse(data); //alert(abc.Phone1); alert(data.myName) alert(data.toString()); if (activityType == "Phone") { } return; }, ``` As you can see this callback function of `$.ajax` taking `JSON` data from controller. For example: `[{"name":"myName" ,"address": "myAddress" }]` In this case my first alert giving me undefined and second/third alert popup comes up with: `[{"name":"myName" ,"address": "myAddress" }]` How can I access value by name so that my first alert filled out with `myName` which is value of `name`?

Original source

Related problems