Javascript PHP json到google图表api

Javascript PHP json到google图表api,javascript,php,ajax,json,google-visualization,Javascript,Php,Ajax,Json,Google Visualization,我无法将php生成的json数组解析为google图表。我已经包括了Jquery,但是我不知道如何解析json数据。我运行一个MySQL查询从数据库中检索数据。然后我用php json_encode对查询结果进行编码 我使用ajax从php文件中获取json数据 getData.php: <?php function get_meta_values( $key, $type = 'workout', $status = 'publish' ) { global $wpdb; $us

我无法将php生成的json数组解析为google图表。我已经包括了Jquery,但是我不知道如何解析json数据。我运行一个MySQL查询从数据库中检索数据。然后我用php json_encode对查询结果进行编码

我使用ajax从php文件中获取json数据

getData.php:

<?php
function get_meta_values( $key, $type = 'workout', $status = 'publish' ) {
  global $wpdb;
  $user_ID = get_current_user_id();

  if ( empty( $key ) )
    return;

  $r = $wpdb->get_results(
    $wpdb->prepare( "
      SELECT pm.meta_value, p.post_date FROM {$wpdb->postmeta} pm
      LEFT JOIN {$wpdb->posts} p ON p.ID = pm.post_id
      INNER JOIN $wpdb->term_relationships
      ON (p.ID = $wpdb->term_relationships.object_id)
      INNER JOIN $wpdb->term_taxonomy
      ON ($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id)
      WHERE pm.meta_key = '%s' 
      AND $wpdb->term_taxonomy.taxonomy = 'category'
      AND $wpdb->term_taxonomy.term_id IN (4)
      AND p.post_status = '%s' 
      AND p.post_type = '%s'
      AND p.post_author = $user_ID
      ORDER BY pm.meta_value DESC ",
    $key,
    $status,
    $type));

    if ( $r ) {
      $user_ids = wp_list_pluck( $r, 'post_date' );
      cache_users( $user_ids );
    }

    return $r;
}
$workout_history = get_meta_values( '1_rep', 'workout' );
echo json_encode($workout_history);

?>
对我做错了什么有什么建议吗?

您的JSON数据集似乎不适合用于该方法。它应该是(在javascript中):

在JSON中等于:

[["metavalue","post_date"],["999","2014-04-12 18:21:51"],["1","2014-04-12 18:58:20"]]

由于我不知道
$workout\u history
从何而来,我无法帮助您解决问题。

在返回$r之前,您的对象图不正确。请执行以下操作:

$results = array();
$result[] = array_values($r);
return $result;
或者,您可以像下面这样构建一个数组:

[
  {
    "meta_value":"999",
    "post_date":"2014-04-12 18:21:51"
  },
  {
    "meta_value":"1",
    "post_date":"2014-04-12 18:58:20"
  }
] 
$results = array();
$result[] = array($r['message_type'], $r['post_date']);
return $result;

对不起,我一定错过了什么。我现在编辑了它,以包含创建
$workout\u history
的函数。感谢您的建议,但它重新运行
null
。也许我应该改为如何格式化我的JSON变量。而不是显示
[{“meta\u value”:“999”,“post\u date”:“2014-04-12 18:21:51”}
我想这样显示它:
[{“999”:“2014-04-12 18:21:51”}]
有什么建议吗?
$results = array();
$result[] = array_values($r);
return $result;
$results = array();
$result[] = array($r['message_type'], $r['post_date']);
return $result;