2015-07-25 4 views
0

Я нахожусь в тупике по выпуску специально отформатированного JSON для карты флота. Любая помощь высоко ценится!json_encode для диаграммы флота

Я использую этот PHP код

$query = mysql_query('SELECT * FROM all_programs_extended'); 

while($row = mysql_fetch_assoc($query)) { 
$newData[] = array(
        'label' => $row['program_type'], 
        'data' => array(
       "employee1" => $row['employee1'], 
           "employee2" => $row['employee2'], 
       "employee3" => $row['employee3']       
           ) 
        ); 

} 


print json_encode($newData); 

, который производит этот действительный JSON

[{"label":"Program A","data":{"employee1":"5","employee2":"3","employee3":"1"}}, 
{"label":"Program B","data":{"employee1":"0","employee2":"4","employee3":"2"}}, 
{"label":"Program A","data":{"employee1":"4","employee2":"2","employee3":"4"}}] 

, но мне нужно выглядеть следующим образом:

{ 
    "label": "Program A", 
    "data": [[employee1, 5], [employee2, 3], [employee3, 1]], 
    "label": "Program B", 
    "data": [[employee1, 0], [employee2, 4], [employee3, 2]], 
    "label": "Program C", 
    "data": [[employee1, 4], [employee2, 2], [employee3, 4]] 

} 

я, кажется, смешались с помощью скобки и фигурные скобки, а также мне нужна запятая, разделяющая пары значений между скобками, а не двоеточие в первом JS НА. Будьте любезны, чтобы получить кавычки по номерам тоже!

Большое спасибо!

+0

Там не может быть ** ** те же ключи в формате JSON на том же уровне. JSON, который вы хотите, недействителен. –

ответ

1

Просто suround employeeX дополнительным массивом:

$newData[] = array(
    'label' => $row['program_type'], 
    'data' => array(
     array(
      "employee1" => $row['employee1'] 
     ), 
     array (
      "employee2" => $row['employee2'] 
     ), 
     array (
      "employee3" => $row['employee3'] 
     ) 
    ) 
); 
+0

Спасибо за помощь! Это приводит к созданию вложенного массива, но диаграмма флота кропотлива - он действительно хочет, чтобы внутренние массивы имели скобки вокруг пар значений, а не фигурные скобки, например: [employee1, 5], а не полуточку, а не запятую, разделяющую values ​​- это то, что мне нужно сделать в php после того, как я передам json-объект через json_encode? – tomish

Смежные вопросы