1
<!DOCTYPE html>
<html>
    <head>
    <meta http-equiv="Access-Control-Allow-Origin" content="*">
    <script src="jquery.js"></script>
    <script type="text/javascript">

        var index = "index";
        var park = "park";

        $(document).ready(function() {
            $("button").click(function() {
                url="http://openAPI.seoul.go.kr:8088/personalKeyvalue/json/SearchParkInfoService/1/3"
                $.getJSON(url,function(result) {
                    JSONObject jsonRoot = new JSONObject(result);
                    JSONObject jsonService = jsonRoot.getJSONObject("SearchParkInfoService");
                    int totalCount = jsonService.getInt("list_total_count");
                    JSONArray json = jsonService.getJSONArray("row");
                    for (var i = 0; i < totalCount; i++) {
                        document.write(json+"<br>");
                    }
                });
            });
        });

    </script>
    </head>
    <body>
        <h2>Retrieve data from JSON with AJAX!</h2>
        <button>GetAJAX data</button>
    </body>
</html>

私はUncaught SyntaxError: Unexpected identifierGoogle Chromeにあります。

エラーは 14 行目で発生します。

JSONObject jsonRoot = new JSONObject(result);

問題を解決するための提案を教えてください。

4

2 に答える 2

2

JavaScriptでは次のような変数を定義しません。

JSONObject jsonRoot = new JSONObject(result);

強く型付けされた言語ではないからです。この変数は次のように定義します。

var jsonRoot = new JSONObject(result);
于 2012-11-20T13:17:03.113 に答える
0

そのコードをどこから入手しても、これは間違っています。有効な JavaScript ではありません。

JavaScript で変数を宣言する唯一の方法は、キーワードを使用することvarです。

正しいのは次のとおりです(コメントの後に編集):

var jsonObject = JSON.parse(result);
// now you can work with the json by retrieving the values in javascript fashion
// like this:
var jsonService = jsonObject["SearchParkInfoService"];
var totalCount  = jsonService["list_total_count"];
var row         = jsonService["row"];

これは、jsonObject が次のようになっていると仮定して機能します。

{
   SearchParkInfoService : {
        list_total_count : <value>,
        row              : [<arrayvalues>,...]
   },
}
于 2012-11-20T13:25:46.033 に答える