I need a simple help with this question, I'm trying to convert a JSON string to two arrays, look the example:
// What I have
var str = '{"id":1,"name":"Test1"},{"id":2,"name":"Test2"}';
// What I need:
var array1 = {"id":1,"name":"Test1"};
var array2 = {"id":2,"name":"Test2"};
I tried to do it using JSON.parse(str), but with no success like below:
//Works:
var str = '{"id":1,"name":"Test1"}';
dataObj = JSON.parse(str);
console.log(dataObj)
//Doesn't work:
var str = '{"id":1,"name":"Test1"},{"id":2,"name":"Test2"}';
dataObj = JSON.parse(str);
console.log(dataObj)
Any suggestion ?
You haven't properly formatted your JSON string.
It should have been var str = '[{"id":1,"name":"Test1"},{"id":2,"name":"Test2"}]';
all you want to do is put the objects in array
var str = '[{"id":1,"name":"Test1"},{"id":2,"name":"Test2"}]';
dataObj = JSON.parse(str);
console.log(dataObj)
then:
var array1 = dataObj[0];
var array2 = dataObj[1];
Problem is that '{"id":1,"name":"Test1"},{"id":2,"name":"Test2"}' isn't valid JSON format.
Try this:
var str = '[{"id":1,"name":"Test1"},{"id":2,"name":"Test2"}]';
dataObj = JSON.parse(str);
console.log(dataObj)
If you want assign objects to two separated variables (as you described):
var obj1 = dataObj[0];
var obj2 = dataObj[1];
I renamed variable names because what is assigned to variable is object, not an array