Arrays 如何将json数据映射到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": [ {

我在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": [
    {
      "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);