There are a few ways you can do this. If you are using pure javascript you can do something like
cat = new Array();
series1 = new Array();
series2 = new Array();
for (var value in data["area"])
{
cat.push(data["area"][value]);
}
for (var value in data["target"])
{
series1.push(data["target"][value]);
}
for (var value in data["sales"])
{
series2.push(data["sales"][value]);
}
Or if you want a solution using jQuery then you can do something like:
var cat = $.map(data["area"], function(value,key) { return value; });
var series1 = $.map(data["target"], function(value,key) { return value; });
var series2 = $.map(data["sales"], function(value,key) { return value; });
Both solutions will give you an output of:
["zone1", "zone2", "zone3"]
["7.91", "4.95", "2.95"]
["12.35", "6.99", "4.13"]
Edit
So the data I used was the same JSON object that you provided where every value is a string, but your desired output (and the output Highcharts will want) is the series data in Numeric form so you will need to take that into account.