How to pass a set of json data in javascript function?

69,730

Solution 1

The JSON string is wrong. It should be actually:

var data = '[{"a":1,"b":2,"c":3},{"a":4,"b":5,"c":6},{"a":7,"b":8,"c":9}]';

After that, you need to convert the JSON String into JSON object using the code below:

JSON.parse(d) /* d is the parameter of the method 'add()'  */

The alert will give you [object Object] output, as the variable data is itself the object. So if you want to see the whole json data, you need to console.log as:

console.log(JSON.parse(d));

Watch the demo.

Solution 2

First of all, your data value is incorrect. Since it has 3 objects it has to be in an array. So, your data should be

data = '[{"a":1,"b":2,"c":3},{"a":4,"b":5,"c":6},{"a":7,"b":8,"c":9}]';

Then you need to use JSON.parse function to parse the string data into javascript object and then pass the object.

function add(data)
{ 
   alert(data);
   alert(data[0].a); //access 1ts objects a value
} 
var data = JSON.parse(data);
add(data);
Share:
69,730
D Kim
Author by

D Kim

Updated on December 01, 2020

Comments

  • D Kim
    D Kim over 3 years

    I have a data set as below:

    data = '{"a":1,"b":2,"c":3},{"a":4,"b":5,"c":6},{"a":7,"b":8,"c":9}';

    I am trying to make a function with the data set as its parameter, but the parameter wouldn't be read. Here is what I did:

    function add(data) { alert(data); } add(data);

    I only get [object Object],[object Object] ... What's the problem here? Thanks.

  • Juan Sánchez
    Juan Sánchez almost 5 years
    The alert give you [object Object] but you can also stringify the JSON to show it through an alert. alert(JSON.stringify(JSON.parse(d)));