javascript - JSON Firebase URL 到数组

标签 javascript jquery json firebase

我需要获取一个 Firebase 链接作为数组。我有以下链接 https://.firebaseio.com/users.json 它将检索以下 json 文件:

{
    "-KOIbPUxKWKMaIOuX1cR": {
        "email": "fillocj.rc@gmail.co",
        "lastName": "Alberto",
        "password": "password",
        "userName": "Rodolfo"
    },
    "-KOOF5S3kDnvsT9nVx85": {
        "email": "test@test2.com",
        "lastName": "TEST",
        "password": "password",
        "userName": "TEST"
    }
}

我在 javascript 中使用以下函数来进行转换:

var o = 'https://<myInstance>.firebaseio.com/users.json';
var arr = Object.keys(o).map(function (k) { return o[k] });
console.log(arr)

但是如果这个函数的结果如下:

Array[53]

0:"h"
1:"t"
2:"t"
3:"p"
4:"s"
5:":"
6:"/"
7:"/"
8:"a"
9:"g"
10:"u"
11:"l"
12:"a"
13:"r"
14:"f"
15:"i"
16:"r"
17:"e"
18:"d"

当然这不是我需要的,我需要检索所有电子邮件或所有用户或所有 ID 号。有什么办法可以找回它吗?或者有人可以帮我写一段可以帮助我的代码。

提前致谢。

最佳答案

您可以使用jQuery map function映射对象。

$.map(source, function(item, i){
    return source.email; //return what you want
});

如果您只想从 url 检索 json 内容,则需要发出 AJAX 请求。执行此操作的一个简单方法是使用 getJSON function .

    $.getJSON("https://<myInstance>.firebaseio.com/users.json", function(result){
        // here you get the JSON content
    });

看一下这个片段:

window.users = {
    "-KOIbPUxKWKMaIOuX1cR": {
        "email": "fillocj.rc@gmail.co",
        "lastName": "Alberto",
        "password": "password",
        "userName": "Rodolfo"
    },
    "-KOOF5S3kDnvsT9nVx85": {
        "email": "test@test2.com",
        "lastName": "TEST",
        "password": "password",
        "userName": "TEST"
    }
};



function getEmails(users){
  return $.map(users, function(item, i){
  	return item.email;
  });
};

function getSampleObject(users){
  return $.map(users, function(item, i){
      return {
        email: item.email,
        username: item.userName
      };
    });
};

$(window).ready(function(){
  var emails, users;
  
  emails = getEmails(window.users);
  users = getSampleObject(window.users);  
  
  $('#output_1').text(JSON.stringify(emails));
  $('#output_2').text(JSON.stringify(users));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h2>Retrieves email</h2>
<code id="output_1"></code>
<hr />
<h2>Retrieves object</h2>
<code id="output_2"></code>

关于javascript - JSON Firebase URL 到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38840341/

相关文章:

javascript - 使用 MongoDB/Mongoose 在 Node 中执行 HTTP POST 请求?

javascript - 过滤 JSON 数据

javascript - Youtube V3 channel 搜索有结果但未显示项目

jquery - 如何捕捉不同级别 div 的悬停?

jquery - 对 PageMethod 的 ASP.NET jQuery AJAX 调用返回解析器错误和 200 响应

javascript - 如何从多个元素中获取属性值而不仅仅是第一个匹配项

c# - Owin OAuth 上下文 : Frontend login sending Json

javascript - Bootstrapper.bindDOMParsed( function ) 和 Bootstrapper.bindDOMLoaded( function ) 有什么区别?

javascript - 如何在 jquery 中执行 div 禁用?

javascript - 我无法使用 jquery 进行提交