首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSON Jquery类型

JSON Jquery类型
EN

Stack Overflow用户
提问于 2011-02-15 22:16:48
回答 1查看 1.5K关注 0票数 0

我有一个关于Jquery的基本问题,它会让我在提取数组对象时遇到一些问题。下面的代码是javascript中的,我只想澄清一下我在这里可能做错了什么。

代码语言:javascript
复制
<?php  
$nor = $_SESSION["north"];
$sou =  $_SESSION["south"];
$eas =  $_SESSION["east"];
$wes = $_SESSION["west"];

session_destroy();

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">  
<html>  
  <head>  
    <title>jQuery JSON test</title>  
  </head>  

  <body>  


<script type="text/javascript" src="http://code.jquery.com/jquery-1.5.js"></script>  
    <script type="text/javascript">  
    var north = "<?php echo $nor ?>";
        var south = "<?php echo $sou ?>"; 
        var east = "<?php echo $eas ?>";
        var west = "<?php echo $wes ?>";

        document.write(north,south,east,west);


    $(document).ready(function(){

        alert("begin loop");
        $.getJSON('http://api.geonames.org/earthquakesJSON?north=' + north + ' &south=' + south + '&east=' + east + '&west=' + west +'&callback=?',
        function(data){
            alert(data.earthquakes);
    });
})

    </script>  

  </body>  
</html>  

因此,当我使用警告(data.earthquakes)时,我得到了未定义的操作,这很好,但我知道这里我得到了一个响应。但是,JSON的体系结构如下:

代码语言:javascript
复制
{"earthquakes": [
     {"eqid":"2007hear","magnitude":8.4,"lng":101.3815,"src":"us","datetime":"2007-09-12 09:10:26","depth":30,"lat":-4.5172},
     {"eqid":"2007aqbk","magnitude":8,"lng":156.9567,"src":"us","datetime":"2007-04-01 18:39:56","depth":10,"lat":-8.4528},
     {"eqid":"2007hec6","magnitude":7.8,"lng":100.9638,"src":"us","datetime":"2007-09-12 21:49:01","depth":10,"lat":-2.5265}
]}

因此,我尝试了不同的提取信息的方法,比如alert(data.earthquakes[1].eqid);alert(data.earthquakes.eqid[1]);,但是我并没有按需要获得专用数组。

有人能指点我

  1. 如何适当地获得所需的体系结构结果,如果我想使用数组和for循环将所有元素提取到本地数组,则使用

怎么做?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-15 22:46:54

如果您的JSON对象定义如下:

代码语言:javascript
复制
var jsonData = {"earthquakes": [
         {"eqid":"2007hear","magnitude":8.4,"lng":101.3815,"src":"us","datetime":"2007-09-12 09:10:26","depth":30,"lat":-4.5172},
         {"eqid":"2007aqbk","magnitude":8,"lng":156.9567,"src":"us","datetime":"2007-04-01 18:39:56","depth":10,"lat":-8.4528},
         {"eqid":"2007hec6","magnitude":7.8,"lng":100.9638,"src":"us","datetime":"2007-09-12 21:49:01","depth":10,"lat":-2.5265}
    ]};

试试这个:

代码语言:javascript
复制
var myData = eval('(' + jsonData + ')');
var firstElement = myData.earthquakes[0];

这是一个很好的参考点:http://www.json.org/js.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5010161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档