編集:解決しました。以下のソリューションのいずれかを使用しますが、document.onloadをwindow.onloadに変更する必要があります。とにかくwindow.onload関数を必要とせずに動作します。
これが私が使用しているtest.phpファイルです
<?php
include("conn.php");
?>
<!DOCTYPE html>
<html>
<head>
<title>test</title>
</head>
<body>
<script src="js/jquery.js"></script>
<script type="text/javascript">
document.onload = function (){
var jsonString = '<?php echo json_encode($rowarr); ?>';
var jsonObj = jQuery.parseJSON( jsonString );
console.log(jsonObj);
alert( jsonObj.Auckland );
};
</script>
</body>
</html>
ChromeデベロッパーツールでjsonStringの値が次のようになることを確認しました
'{"Auckland":37616,"Wellington":35357,"Christchurch":29818}'
その後、コンソールやアラートボックスにログが表示されません。また、jQuery.parseJSONの代わりにJSON.parseメソッドを試しましたが役に立ちませんでした。
私はこのJSONをグーグルチャートジオチャートに使用されるデータテーブル形式にしようとしています。これはこのコードのビットのように見えます
var data = google.visualization.arrayToDataTable([
['City', 'Population', 'Area'],
['Rome', 2761477, 1285.31],
['Milan', 1324110, 181.76],
['Naples', 959574, 117.27],
['Turin', 907563, 130.17],
['Palermo', 655875, 158.9],
['Genoa', 607906, 243.60],
['Bologna', 380181, 140.7],
['Florence', 371282, 102.41],
['Fiumicino', 67370, 213.44],
['Anzio', 52192, 43.43],
['Ciampino', 38262, 11]
]);