Arrays 如何将json数据映射到react native中的数组
我在react native中有这样的数组Arrays 如何将json数据映射到react native中的数组,arrays,json,rest,react-native,Arrays,Json,Rest,React Native,我在react native中有这样的数组 const data = [ { key: 1, label: 'Service1'}, { key: 2, label: 'Service2' }, { key: 3, label: 'Service3' }, { key: 4, label: 'Service4' }, { key: 5, label: 'Service4' }, ]; 和json数据: "services": [ {
const data = [
{ key: 1, label: 'Service1'},
{ key: 2, label: 'Service2' },
{ key: 3, label: 'Service3' },
{ key: 4, label: 'Service4' },
{ key: 5, label: 'Service4' },
];
和json数据:
"services": [
{
"id": 1,
"name": "Hotels",
},
{
"id": 2,
"name": "Embassies",
},
]
如何
将id映射到键,将名称映射到标签???您想用JSON中的值填充常量数据,对吗
试试这个:
var jsonData={
“服务”:[
{“id”:1,“name”:“Hotels”},
{“id”:2,“姓名”:“大使馆”}
]
};
var data=jsonData.services.map(函数(项){
返回{
关键字:item.id,
标签:item.name
};
});
控制台日志(数据)代码>我知道得太晚了,但我希望它对其他人有帮助,如何在react native中获取JSON数组的响应?如何将JSON数据映射到react native中的数组
export default class ExpenseNew extends Component {
constructor(){
super();
this.state={
PickerSelectedVal : '',
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();
}
render() {
return (
<Picker
selectedValue={this.state.PickerSelectedVal}
placeholder="Select your customer"
mode="dropdown"
iosIcon={<Icon name="arrow-down" />}
onValueChange={(itemValue, itemIndex) => this.setState({PickerSelectedVal: itemValue})} >
{this.state.accountnameMain.map((item, key)=>(
<Picker.Item label={item} value={item} key={key}/>)
)}
</Picker>
)
}
}
导出默认类ExpenseNew扩展组件{
构造函数(){
超级();
这个州={
PickerSelectedVal:“”,
accountnameMain:[],
}
}
componentDidMount(){
var账户_nam=[]
获取('您的Url'{
方法:“GET”,
标题:{‘授权’:‘持有者’+您的令牌}
})
.then((response)=>response.json())
。然后((customerselect)=>{
//警报(JSON.stringify(customerselect))
global.customerdata=JSON.stringify(customerselect)
var customername=JSON.parse(customerdata);
//警报(JSON.stringify(customername));
对于(i=0;i
{this.state.accountnameMain.map((项,键)=>(
)
)}
)
}
}
上面的例子是从json获取数据数组,并将数据映射到下拉列表/选择器,我希望它对其他人有帮助,如果您有任何疑问,请向我询问您的数据是否如下(删除了服务键)
作者要求一个简单的映射。这与问题无关,可以用半行代码来编写。是的,我理解,但这是一个完整的示例,我们的作者理解得更清楚,但你是对的Hi@SandhyaDesmukh,欢迎来到StackOverflow。感谢您提供您的第一个答案!然而,我认为您在jsonData
上有一点输入错误。由于该jsonData
变量不是有效的数组
。把它修好,我给你投票:)
var jsonData = [
{ "id": 1, "name": "Hotels" },
{ "id": 2, "name": "Embassies" }
];
var data = jsonData.map(function(item) {
return {
key: item.id,
label: item.name
};
});
console.log(data);