如何在反应原生地图上映射json数组?

时间:2018-02-12 04:31:35

标签: json dictionary react-native

大家好我想渲染从服务器返回的json响应,因为我正在使用map方法。但是我的代码中有一个错误请帮我算一下......我得到的回应是

response.json

{
status: true
token:{
 access_token: "BhTErqRtliUG#8"
 client_id: "ck4fLr08YHkW2y"
 expires: "2018-02-19 03:51:50"
 scope: null
 user_id:465
},
user:{
 avatar: "https://www.indianeconomy.net/lms/wp-content/uploads/2017/11/favicon.png"
 email: "tet@wehubs.afs"
 id:465
 name: "testere"
 sub:""
}
}

我试过这个

fetch(''{
.... }).then((responseData)=>{
this.setState({
        userdetail: responseData,
        loaded:true,
        })
}
render(){
return this.state.userdetail.map(user=>{
<Text>{token.access_token}</Text>
})
}

如何在上面的json响应中使用map方法?

2 个答案:

答案 0 :(得分:1)

其他评论是正确的。你不能映射这样的对象。有一些方法可以迭代对象属性:

for(let prop in object) {
  console.log(object[prop]);
}

但是,在您的示例中,对象没有任何相似之处,因此您不会从迭代中获得任何好处。

如果您希望显示访问令牌,则可以执行以下操作:

return (
   <Text>{this.state.userdetail.token.access_token}</Text>
);

答案 1 :(得分:0)

您显示的

json字符串不是您可以在此处验证的有效json https://jsonlint.com/

我不确定反应,但你提到dict,所以在python中如果你有有效的json

你可以用这样的字典来映射它

json.loads(json_string)