Объект в jquery с использованием ответа JSON

Я хочу создать объект в jquery, используя ответ json, который возвращается из моего контроллера

var cellContents = {'29-08-2018': '20','18-08-2018': '60'};

Это желаемый формат, который я хочу, и ниже дан мой ответ JSON

{"status":1,"result":[{"followup_datee":"17-08-2018","date":[{"fcount":"1"}]},{"followup_datee":"18-08-2018","date":[{"fcount":"1"}]}]}

я попытался код, чтобы сделать формат, который я хочу, но это не удалось, это код, который я пытался

var arr2 = [];
//var cellContents = JSON.parse(data.result);

for(var i=0; i<data.result.length; i++){
var arr = [];
for(var j=0; j<data.result[i].date.length; j++)
{
arr.push(parseInt(data.result[i].date[j].fcount));
}
var test = [data.result[i].followup_datee];
arr2.push(test.concat(arr));
}
var jsonString = JSON.stringify(arr2);
console.log(jsonString);

после того, как я попробовал этот код, я получил ответ в консоли, как это

[["17-08-2018",1],["18-08-2018",1]]

Это контроллер, который я использую в PHP

 public function getLeadcount()
{
$status = 1;
$arr = [];
$sess = $this->session->userdata('user_id');
$result = $this->mdl_lead_registration->getLeaddate($sess);
if(!empty($result))
{
$status = 1;
foreach($result as $res)
{
$res->{'date'} = '';
$res->date = $this->mdl_lead_registration->getLeadcount($sess,$res->followup_datee);
}

}

echo json_encode(array("status" => $status,"result" => $result));
}

Я думаю, что вы все понимаете мою проблему. Любая помощь заметна.

1

Решение

Используйте следующий код:

var data = {"status":1,"result":[{"followup_datee":"17-08-2018","date":[{"fcount":"1"}]},{"followup_datee":"18-08-2018","date":[{"fcount":"1"}]}]};

var obj = {};

for (var i = 0; i < data.result.length; i++){
obj[data.result[i].followup_datee] = parseInt(data.result[i].date[0].fcount);
// Here you change the property.
// In js you can access to an object's property like an array,
// see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Property_Accessors.

// If you want to use the count as a string, use instead:
// obj[data.result[i].followup_datee] = data.result[i].date[0].fcount;
}

console.log(obj);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]