5

I have this set

var data = [
    {"outlet_name":"Easy Lane Supermart","20130102_20130108":"0"},
    {"outlet_name":"Eunilaine Foodmart Kalayaan","20130102_20130108":"0"},
    {"outlet_name":"PUREGOLD PRICE CLUB, INC - VISAYAS","20130102_20130108":"0"}
];

$.each(data, function (i, item) {
    $.each(item, function (k,v) {
        $('#result').append(k,v);
    });
});

How can I make it only view all the values of outlet_name without using the item.outlet_name?

2
  • Please note that the problem has nothing to do with JSON at all. It seems you are confusing JavaScript object/array literals (constructs of the JavaScript language syntax) with JSON (a language-independent data-exchange format, like XML or CSV). I will edit your question accordingly. See also: There is no such thing as a "JSON object". Commented Oct 3, 2013 at 8:23
  • possible duplicate of Access / process (nested) objects, arrays or JSON Commented Oct 3, 2013 at 8:25

3 Answers 3

8
$.each(data, function (i, item) {
    console.log(item.outlet_name);
});

Or without jQuery:

for (var i=0;i<data.length;i+=1) {
    console.log(data[i].outlet_name);
}

Ok, if you want to iterate over each object you can write:

$.each(data, function (i, item) {
    console.log("Values in object " + i + ":");
    $.each(item, function(key, value) {
        console.log(key + " = " + value);
    });
});
Sign up to request clarification or add additional context in comments.

3 Comments

i forgot, it should be, how can i view the values of outlet_name by not using item.outlet_name.
this is confusing im sorry, i mean how can i view the outlet_name or the second object, because the the key names are randomly generated. like having [1] after the key name
It sounds like the data structure is confusing :-) If you have an object with unknown/random property names, you can't really access a specific property without knowing the name. It's not like an array where you can access a value by index ("pick the first value").
2

This will provide exact answer...

var data = [
    {"outlet_name":"Easy Lane Supermart","20130102_20130108":"0"},
    {"outlet_name":"Eunilaine Foodmart Kalayaan","20130102_20130108":"0"},
    {"outlet_name":"PUREGOLD PRICE CLUB, INC - VISAYAS","20130102_20130108":"0"}
];
for(i=0;i<data.length;i++){
	for(var x in data[i]){
	    console.log(x + " => " + data[i][x]);
	}
}

Comments

0

If anyone is needing to do this from a JSON string for example

var myJson = [{"Code":"slide_1.png","Description":"slide_1"},{"Code":"slide_2.png","Description":"slide_2"},{"Code":"slide_3.png","Description":"slide_3"}]

You can use var newJsonArray = JSON.Parse(myJson) and you will get Array[3] 0 : Object 1 : Object 2 : Object

At which point you can access it by simply saying newJsonArray[i].Code or whatever property inside the array you want to use. Hope this helps!

1 Comment

myJson is not a string, and JSON.Parse will throw an error since it's JSON.parse.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.