首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从JSON树获取AJAX

从JSON树获取AJAX
EN

Stack Overflow用户
提问于 2013-09-24 15:22:06
回答 2查看 1K关注 0票数 0

我只是从AJAX开始,尝试使用JQuery的$.getJSON函数(或任何相关的,即$.load()、$.ajax()等)。我有一个具有如下结构的JSON文件:

代码语言:javascript
复制
[
    {
        "id": 1,
        "email": "user@domain.com",
        "password": "password"
    },
    {
        "id": 2,
        "email": "one@two.com",
        "password": "password"
    }
]

对于具有特定电子邮件的用户,我如何在这个JSON文件上调用GET (让我们称之为users.json)?我以为这将是$.getJSON的第二个参数,但这似乎只是返回整棵树。

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2013-09-24 15:26:43

一旦解析了JSON,就将其传递给回调函数--然后您可以根据需要操作该数组。

您可能需要一些自定义代码:

代码语言:javascript
复制
$.getJSON(myURL, function(data) {
    /* data is an array of objects */
    for (var i=0, j=data.length; i<j; i++) {
        if (data[i].email === some_value) {
            /* do something with data[i] */
        };
    };
});

http://api.jquery.com/jQuery.getJSON/

票数 1
EN

Stack Overflow用户

发布于 2013-09-24 15:30:04

您可以在客户端循环遍历数组,或者在每次调用中动态生成users.json (假设后端服务器语言为php)。

使用动态生成的json文件

JS

代码语言:javascript
复制
$.ajax({
   url:"/users.json.php",
   data:{
      useremail:"someusersemail@here.com"
   }
   type:"POST",
   dataType:"json",
   success:function(userdata){
      //users data will be in userdata
      console.log(userdata.email);
   }
})

服务器脚本(假设PHP):users.json.php

代码语言:javascript
复制
$email = $_POST['useremail'];

//get user data based on email
...

echo json_encode($userdata);
die;

生成的json文件最终应该输出类似于

代码语言:javascript
复制
{"id": 1,"email": "user@domain.com","password": "password"}

循环方法:通过客户端上的用户数组循环

代码语言:javascript
复制
$.ajax({
   url:"/users.json",
   dataType:"json",
   success:function(data){
      for(i=0;i<data.length;i++) {
         var user = data[i];
         if(user.email == "someemail@gmail.com") {
            //do what you need to with user data
         }
      }
   }
})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18985656

复制
相关文章

相似问题

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