繁体   English   中英

如何在 React Native 中获取 JSON 数组的响应?

[英]How to fetch the response of JSON array in react native?

rq.js

}).then((responseData) =>{
        this.setState({
            user:responseData.name,
            user1:responseData.blood,
            user2:responseData.location,
            loaded: true,
        })

这是我在 react native 中的代码。如果我的 JSON 响应不是数组,它可以完美运行。如果 json 是数组,我需要在此代码中进行哪些更改才能完美运行?显示此错误Unexpected token < in JSON at position 1

数据.json

[{"name":"hema","bld":"O -ve","lc":"london"}]

这是我的 json 数组 input.Anybody 请帮助..

尝试将数据作为对象而不是数组发送

{"name":"hema","bld":"O -ve","lc":"london"}

实际上,您正在调用道具bloodlocation ,但是您的 JSON 内容bldlc为该道具

如果您希望它与数组一起使用,请执行

}).then((responseData) =>{
    this.setState({
        user:responseData[0].name,
        user1:responseData[0].blood,
        user2:responseData[0].location,
        loaded: true,
    })

通过这种方式,您将调用数组索引的第一个对象,然后调用数组中第一个对象的 prop

我知道为时已晚,但我希望它对其他人有所帮助。 如何在 React Native 中获取 JSON 数组的响应?

export default class ExpenseNew extends Component {
    constructor(){
        super();
        this.state={
            accountnameMain:[],
        }
    }
     componentDidMount(){
         var account_nam=[]
                fetch('your Url', {
                    method: 'GET',
                    headers: { 'Authorization': 'Bearer ' + your token }
                })
                    .then((response) => response.json())
                    .then((customerselect) => {
                        // alert(JSON.stringify(customerselect)) 
                        global.customerdata = JSON.stringify(customerselect)
                        var customername = JSON.parse(customerdata);
                        //alert(JSON.stringify(customername));
                        for (i = 0; i < customername.cus_data.length; i++) {
                            var dataa = customername.cus_data[i]["account_name"];  
                            account_nam.push(dataa)
                        }
                        this.setState({accountnameMain:account_nam});
                    })
                    .done();
    }

account_name是我的字段/列名,在您的情况下,您的列名是bld因此您可以获取所有数据并推送数组的 var 类型,然后将数据设置为数组的状态类型,并映射到您想要的任何位置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM