如何从 React Native 中的 JSON 获取数据?

Posted

技术标签:

【中文标题】如何从 React Native 中的 JSON 获取数据?【英文标题】:How to get a data from JSON in React Native? 【发布时间】:2021-10-19 03:27:44 【问题描述】:

当我在我的 react-native 项目中运行以下代码时

console.log("Response= "+JSON.stringify(response));

我可以在控制台中获得如下输出。

Response= "assets":["height":3888,"uri":"file:///data/user/0/com.facebook2/cache/rn_image_picker_lib_temp_6b8db334-4fcc-40ba-94a0-325191a89011.jpg","width":5184,"fileName":"rn_image_picker_lib_temp_6b8db334-4fcc-40ba-94a0-325191a89011.jpg","type":"image/jpeg","fileSize":1914937]

如何从该 JSON 响应中打印“uri”?

【问题讨论】:

【参考方案1】:

查看您的数据,我们可以根据我们看到的内容对其进行细分。因此,对于 JSON,我们有一个 javascript 对象,其中包含一个资产参数。所以要打印资产,我们会console.log(response.assets)

Assets 是一个包含一个项目的数组,因此我们希望从 console.log(response.assets[0]) 中获取第一个项目。

然后我们想要来自第一个资产对象的 uri,即 console.log(response.assets[0].uri)

希望这就是你要找的。​​p>

【讨论】:

【参考方案2】:

您可以使用Dot Notation 访问对象的属性。

在您的response json 中,可以看到它有一个名称为assets 的数组。所需的属性uri 在数组内。你可以简单地访问它


response.assets[0].uri

如果您的资产数组中有多个项目,您可以简单地遍历数组并获取值,

const length = response.assets.length;

for(let i=0; i< length; i++)
  console.log('URI is = ', response.assets[i].uri) 

const response = "assets":["height":3888,"uri":"file:///data/user/0/com.facebook2/cache/rn_image_picker_lib_temp_6b8db334-4fcc-40ba-94a0-325191a89011.jpg","width":5184,"fileName":"rn_image_picker_lib_temp_6b8db334-4fcc-40ba-94a0-325191a89011.jpg","type":"image/jpeg","fileSize":1914937];


console.log('URI =', response.assets[0].uri)

【讨论】:

谢谢你我明白了:)

以上是关于如何从 React Native 中的 JSON 获取数据?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 fetch 中获取 JSON 数据(react-native)

从 React-Native 中的本地 Json 服务器获取数据

react-native 如何从本地JSON文件中获取数据?

无法从 React Native 中的 JSON 数组正确获取数据

从 Javascript 中的 url 获取 JSON 文件,React Native

如何从带有条件的 React Native 中的 API 数组结果中获取记录?