Javascript 从ReactNative中的承诺获取JSON对象的单个值

Javascript 从ReactNative中的承诺获取JSON对象的单个值,javascript,json,react-native,promise,Javascript,Json,React Native,Promise,我使用react native docs()中描述的fetch方法从服务器获取数据 这是我获取数据的代码 let responseJson = await response.json(); if(response.status>=200&&response.status<300){ //this.setState({error:" "}); let alldata=responseJson; console.log("All data "+

我使用react native docs()中描述的fetch方法从服务器获取数据

这是我获取数据的代码

let responseJson = await response.json();
 if(response.status>=200&&response.status<300){
    //this.setState({error:"  "});
    let alldata=responseJson;
    console.log("All data "+alldata);
 }else{
   let error=responseJson;
   throw error;
 }
 return responseJson;
除了使用v.Bio之外,我还尝试过使用v[0]、v[1]等等,但都没有效果。控制台打印未定义的内容。但是当我使用

let responseJson = await response.text();
我以纯文本形式获取数据,因此服务器端没有错误。如何获取JSON的各个组件?My JSON包含以下基本配置文件信息:

  {"bio":"I am a cool guy","website":"www.cool.com","gender":"M","avatar":"/media/images/avatar/blank.png"}

提前谢谢

您正在调用response.text()。尝试调用response.json()

这是文件上的

try {
let responseJson = await response.json();
console.log(responseJson);
      return responseJson;
    } catch(error) {
      console.error(error);
    }
}
您必须在try块中使用响应,因为它不会立即解析


尝试在responseJson对象上执行console.log以查看实际返回的内容。正如@Jaromanda-x所建议的,使用您所看到的对象,即区分大小写。

javascript不像visual basic那样是一种玩具语言,因此,它区分大小写-您说您尝试了
v.Bio+“”+v.Website+
。。。但是您的数据有
bio:
网站:
responseJson
不是承诺对象。您使用了wait,因此它是一个普通的javascript对象。当您调用
fetchUserDate
(我假设它是第一个代码示例中的函数名,请澄清)时,它确实返回了一个承诺。您是否尝试只记录您尝试访问的json的结果?我知道你从它的字段中得到了未定义的结果,但是你能告诉我实际返回的是什么吗?@JaromandaX使用小写字符,我在log@MotiAzufetchUserDate是被调用的函数,我尝试记录JSON对象,但最终在控制台“[object]”中得到以下内容。当我试图用.bio或.website解决它时,我得到的是未定义的。尽管.text()方法显示正在接收所有数据。请务必查看Akis答案…请用整个函数编辑您的问题,以便我们可以看到问题所在。我使用的是try-catch块,问题是解决返回对象的响应以获取其单个组件。如果您使用console.log(responseJson),您会得到什么?它只是在日志中表示未定义
try {
let responseJson = await response.json();
console.log(responseJson);
      return responseJson;
    } catch(error) {
      console.error(error);
    }
}