从 ReactNative 中的 Promise 中获取 JSON 对象的单个值



>我正在使用反应本机文档(https://facebook.github.io/react-native/docs/network.html(中所述的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;

我知道 responseJson 是一个承诺对象,所以我试图像这样解决它,这不起作用。

  let abc= this.fetchUserDate(accessToken);
         abc.then(function(v) {
         console.log(v.Bio+" "+v.Website+"  "+typeof(v)); 
       });

除了使用 v.Bio 之外,我还尝试使用 v[0]、v[1] 等都无济于事。控制台打印未定义。但是当我使用

let responseJson = await response.text();

我以纯文本形式获取数据,因此服务器端没有错误。如何获取 JSON 的各个组件?我的 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 建议的那样,使用您看到的对象,即区分大小写。

相关内容

  • 没有找到相关文章