javascript 我在react-native中获取数据时出错

smdnsysy  于 2023-08-02  发布在  Java
关注(0)|答案(3)|浏览(107)

以下是API链接:
http://api.aladhan.com/v1/timingsByCity?city=Dubai&country=United%20Arab%20Emirates&method=8

<Text>{responseMsg.code}</Text>
<Text>{responseMsg.status}</Text>

字符串
以上线路正在运行。我能够从这个API获取数据,如代码,状态,但我无法从这个API获取祈祷时间。我不知道如何写那行代码来从这个API中获取祈祷时间。

<Text>{(responseMsg.data || []).map(time => time.timings.Fajr)}</Text>
<Text>{(responseMsg.data || []).map(time => time.timings.Dhuhr)}</Text>


我得到以下错误:
TypeError:undefined不是一个对象
(evaluating '(responseMsg.data|| {}).timings. Fajr')

7vux5j2d

7vux5j2d1#

您应该直接访问计时,因为data字段是对象而不是数组。你要写的是:

<Text>{(responseMsg.data || {}).timings.Fajr}</Text>

字符串

rkttyhzu

rkttyhzu2#

. www.example.com上的MapresponseMsg.data将不起作用,因为数据是对象。Map是一个数组函数,而不是对象。

aamkag61

aamkag613#

我知道我的答案是sooo晚,因为我正在寻找同样的问题
诀窍在于,在输出json嵌套对象中,有另一个子数据对象,以便访问祈祷时间:

fajr=response.data.data.timings.fajr

字符串

是data.data

timezone=response.data.data.meta.timezone
hijriDay=response.data.data.date.hijri.day
hijriMonth=response.data.data.date.hijri.month.en
hijriYear=response.data.data.date.hijri.year

相关问题