未捕获的SyntaxError:使用JSON时出现意外的标识符。

时间:2012-11-20 13:14:39

标签: jquery json

<!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 identifier

错误发生在第14行,即:

JSONObject jsonRoot = new JSONObject(result);

您能提供解决问题的建议吗?

2 个答案:

答案 0 :(得分:2)

您没有在JavaScript中定义这样的变量:

JSONObject jsonRoot = new JSONObject(result);

因为它不是强类型语言。您可以这样定义此变量:

var jsonRoot = new JSONObject(result);

答案 1 :(得分: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>,...]
   },
}