rq.js
}).then((responseData) =>{
this.setState({
user:responseData.name,
user1:responseData.blood,
user2:responseData.location,
loaded: true,
})
这是我的反应原生代码。如果我的JSON响应不是一个数组,它是完美的。如果json是一个数组,我需要在这段代码中做出哪些更改才能完美地工作?显示此错误Unexpected token < in JSON at position 1
data.json
[{"name":"hema","bld":"O -ve","lc":"london"}]
这是我的json数组输入。有人请帮助..
答案 0 :(得分:1)
尝试将数据作为对象而非数组
发送{"name":"hema","bld":"O -ve","lc":"london"}
实际上您正在调用道具blood
和location
,但您的JSON内容bld
和lc
用于该道具
答案 1 :(得分:0)
如果您希望它与数组一起使用,只需执行
}).then((responseData) =>{
this.setState({
user:responseData[0].name,
user1:responseData[0].blood,
user2:responseData[0].location,
loaded: true,
})
以这种方式调用数组索引的第一个对象,然后调用数组中第一个对象的prop
答案 2 :(得分:0)
我知道为时已晚,但希望对其他人有帮助。如何在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类型,然后将数据设置为数组的状态类型,然后将其映射到您想要的任何地方。