Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >访问API嵌套对象

访问API嵌套对象
EN

Stack Overflow用户
提问于 2019-08-26 09:16:36
回答 2查看 70关注 0票数 1

我试图从API中访问某些货币的值,但我没有设法从函数中获取它们。

API解析后返回:{"ETH":{"USD":188.01},"BTC":{"USD":10330.41}}

这是我使用的代码:

代码语言:javascript
运行
AI代码解释
复制
fetch('https://min-api.cryptocompare.com/data/pricemulti?fsyms=ETH,BTC&tsyms=USD')
    .then(val => val.json()).then(data => {
        info = data; for (var item in data) { console.log(item.USD) }
    });

它记录未定义。

当我在console.log(item)中这样做时,它将ETHBTC记录为字符串,而不是对象。当我在控制台(.then之外)写info.ETH.USD时,我会得到结果。

我做错什么了?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-26 09:25:24

它不适用于您的原因是,您正在遍历对象并返回键而不是实际的对象。item是指对象的keys

试试这个:

代码语言:javascript
运行
AI代码解释
复制
fetch('https://min-api.cryptocompare.com/data/pricemulti?fsyms=ETH,BTC&tsyms=USD').
then(res => res.json())
.then(data => {
  console.log("The object", data)
  for(var item in data) {
    console.log(data[item])
  }
})

现在您可以将属性称为 data[item].USD

票数 2
EN

Stack Overflow用户

发布于 2019-08-26 09:54:12

我认为您与JSON对象操作混淆了。在使用JSON对象时,学习一些通常有用的东西。

从JSON对象获取值:

代码语言:javascript
运行
AI代码解释
复制
var obj = {"ETH":{"USD":188.01},"BTC":{"USD":10330.41}};

用于在初始级别获取的

代码语言:javascript
运行
AI代码解释
复制
 obj["ETH"] // return {"USD":188.01}

嵌套级别的获取:

代码语言:javascript
运行
AI代码解释
复制
 obj["ETH"]["USD"] // return 188.01

在您的情况下,您只打印密钥。

更新语法:

代码语言:javascript
运行
AI代码解释
复制
for(let item in data) {
    console.log(data[item]) 
 }

输出:

代码语言:javascript
运行
AI代码解释
复制
{
  "USD": 187.98
}
{
  "USD": 10302.56
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57662234

复制
相关文章
如何在JavaScript中访问暂未存在的嵌套对象
JavaScript 是个很神奇的东西。但是 JavaScript中的一些东西确实很奇怪,让人摸不着头脑。其中之一就是当你试图访问嵌套对象时,会遇到这个错误
前端小智@大迁世界
2019/07/02
8.6K0
Kubernetes的API对象模型定义以及访问控制
Kubernetes的API对象模型是通过定义一组结构体来实现的,每个对象都有一组属性来代表其状态和配置。
一凡sir
2023/09/09
2860
Kubernetes的API对象模型定义以及访问控制
嵌套对象转map
嵌套对象转map,当对象嵌套层次太深,获取子对象的值及其不便,为解决这一问题,于是对象转map,有key就能得到相应的value。
全栈程序员站长
2022/08/30
1.7K0
Elasticsearch使用:嵌套对象
官网地址:https://www.elastic.co/guide/cn/elasticsearch/guide/current/nested-objects.html
HLee
2021/04/23
6.4K0
Elasticsearch使用:嵌套对象
面向对象之类的成员,嵌套
类的成员可分为三大类:字段丶方法和属性 一丶字段   字段包括:普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同.   普通字段属于对象   静态字段属于类 class Foo: #类变量(静态字段) country = "你好" def __init__(self,name): # 实例变量(普通字段) self.name = name def too(self): print("====
py3study
2020/01/19
1.6K0
面向对象之类的成员,嵌套
(九)定义嵌套的对象类型
# 定义嵌套的对象类型 说明 在 TypeSctipr 里面定义嵌套类型,和定义它的外层类型是一样的 第一种方式是写死在里面的 interface product { title: string price: number categroy: { name: string } } 第二种方式在外面定义 interface product { title: string price: number categroy: Categroy
老怪兽
2023/02/22
2.1K0
ES6解构嵌套对象
让我们先回忆一下ES6的对象解构,本文介绍各种ES6的对象解构用法,你用过哪一种?
IMWeb前端团队
2019/12/03
1.2K0
ES6解构嵌套对象
本文作者:IMWeb zzbozheng 原文出处:IMWeb社区 未经同意,禁止转载 让我们先回忆一下ES6的对象解构,本文介绍各种ES6的对象解构用法,你用过哪一种? 最基本的解构 在对
IMWeb前端团队
2018/01/08
2.3K0
jQuery对象访问
( t h i s ) . g e t ( 0 ) 与 (this).get(0)与
IT工作者
2022/05/10
1.2K0
Kubernetes API 访问控制
可以使用kubectl、客户端库方式对REST API的访问,Kubernetes的普通账户和Service帐户都可以实现授权访问API。API的请求会经过多个阶段的访问控制才会被接受处理,其中包含认证、授权以及准入控制(Admission Control)等。如下图所示:
kubernetes中文社区
2019/06/24
1.6K0
Kubernetes API 访问控制
面向对象-访问限制
使用@property让私有属性可以使用点语法。但本质上还是调用公有方法访问的私有属性,只不过看起来比较美丽
星哥玩云
2022/09/08
1.1K0
数据访问对象模式
数据访问对象模式Data Access Object Pattern即DAO模式,用于把低级的数据访问API或操作从高级的业务服务中分离出来,准确来说数据访问对象模式不属于通常定义的设计模式范畴,但数据访问对象模式是一种非常有用的数据访问管理构建技巧。
WindRunnerMax
2020/12/07
6560
jvm对象的访问
在 HotSpot虚拟机中,对象在内存中存储的布局分为三块区域:对象头,实例数据,和对齐填充。
海向
2020/07/03
8640
ES更新嵌套数组(使用Java API)
最近在学习ElasticSearch,前些天在工作中遇到一个难以解决的问题,问题正如标题所示在使用Java TransportClient更新ES复杂数据结构数组,最后请教大佬问题得以解决。此文章将详细描述问题并提供解决办法。
allsmallpig
2022/01/06
2.8K0
python-函数的对象、函数嵌套、名称
内存存储变量名与变量间的绑定关系的空间(存放变量名的空间),这个空间被称为名称空间。
py3study
2020/01/15
2.5K0
PHPJSON嵌套对象和数组的解析方法
在PHP编程开发中,JSON是一种非常常用的数据格式。它具有简单、轻量和易于解析的特点,非常适合用于数据交换和存储。当我们处理JSON数据时,经常需要解析嵌套的对象和数组,本文将介绍几种解析方法。
用户10354340
2023/07/26
4970
五、对象的结构、对象的访问定位
           对象指向元数据的指针,虚拟机通过这个指针来确定对象是那个类的实例
梅花
2020/09/28
9920
对象访问及其原理
Java中的对象访问,一般会涉及到Java栈、Java堆、方法区这三个内存区域。 比如下面这句代码: Object objectRef = new Object();   假设这句代码出现在方法体中,"Object objectRef” 这部分将会反映到Java栈的本地变量中,作为一个reference类型数据出现。而“new Object()”这部分将会反映到Java堆中,形成一块存储Object类型所有实例数据值的结构化内存,根据具体类型以及虚拟机实现的对象内存布局的不同,这块内存的长度是不固定。另外
老九君
2022/03/14
3930
JAVA的对象访问定位
创建对象是为了访问对象,Java程序通过栈的引用(reference)数据来操作堆上的对象。由于reference类型在Java虚拟机规范中只规定了一个指向对象的引用。并没有规定通过该引用怎么定位,访问堆中的对象。具体需要看虚拟机的实现。
开源日记
2020/12/02
1.2K0
代理模式(控制对象访问)
最近在读 Android Binder 部分的源码,之前三三两两的读过一些片段。但总是感觉理解的不深刻,在读源码的过程中看到了代理模式的应用,那便把代理模式单独开一章描述清楚,需要查看其它设计模式描述可以查看我的文章《设计模式开篇》。
幺鹿
2018/08/21
5040
代理模式(控制对象访问)

相似问题

如何从API访问嵌套对象

12

访问深度嵌套的API对象(React )

21

在嵌套的JSON - Songkick API中访问对象

13

访问对象嵌套对象

21

使用vue资源访问API中的嵌套对象

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档