如何使用jQuery迭代json对象 - GeoNames.Org api

时间:2017-08-20 16:08:17

标签: jquery json

我在控制台上获得SyntaxError: JSON.parse: unexpected character at line 1 column 2 of the JSON data。无法迭代。

 var url ="http://api.geonames.org/postalCodeSearchJSON?postalcode=110085&maxRows=100&username=demo";
            $.post(url, function(results) {
            var myJSONObject = JSON.parse(results);
            for(var i = 0; i < myJSONObject.postalCodes.length; i++)
            {
                var name = postalCode[i]["name"];
                alert(name);
            }

        });

4 个答案:

答案 0 :(得分:2)

结果已经是一个JSON对象,因此无需按原样解析和使用它。

 $.post(url, function(results) {
            //var myJSONObject = JSON.parse(results); change
            for(var i = 0; i < results.postalCodes.length; i++)
            {
                var name = postalCodes[i]["adminName3"];//change
                alert(name);
            }

此外,没有任何名为&#34; name&#34;作为回应,我已经改变了那里的代码,并改变了postalCode&#34; s&#34;作为数组名称。

答案 1 :(得分:1)

你也可以使用jquery每个方法

var url = "http://api.geonames.org/postalCodeSearchJSON?postalcode=110085&maxRows=100&username=demo";
$.post(url, function(results) {
  $.each(results.postalCodes, function(key, val){
    console.log(val.adminName3)
  })
});

答案 2 :(得分:0)

typedef struct Node
{
   char* word;
   int count;
   struct Node *next;
   struct Node *head;
   struct Node *current;
} Node;

答案 3 :(得分:0)

请记住,您不应该对每个错误进行stackoverflow,特别是当您遇到异常时,它的消息很明确。首先,您应该学习如何阅读此类消息。主要是指导你解决方案(但你必须考虑一下)。无论如何,异常消息表明存在一些与JSON.parse方法相关的错误,该方法用于将收到的字符串解析为例如。 javascript对象。你正在使用一些api,而且我们都知道几乎所有暴露给世界的api都会返回json对象。让我们思考一下。您尝试将JSON解析为JSON?是的,这导致了例外。