Javascript 用我自己的数据逐个替换JSON对象中的所有键
我有一个包含以下内容的JSON对象:Javascript 用我自己的数据逐个替换JSON对象中的所有键,javascript,json,loops,reactjs,react-native,Javascript,Json,Loops,Reactjs,React Native,我有一个包含以下内容的JSON对象: [{ "type": "pdf", "size": "1mb", "date": "392017", .....500 more key value pairs like this }] 这就是我在React Native屏幕上显示上述JSON对象的方式 export const MyComponent = ({myJson}) => { const data = Object.entries(myJson).
[{
"type": "pdf",
"size": "1mb",
"date": "392017",
.....500 more key value pairs like this
}]
这就是我在React Native屏幕上显示上述JSON对象的方式
export const MyComponent = ({myJson}) => {
const data = Object.entries(myJson).map(([key, value], i) => {
if (value !== '' && value !== null) {
return (
<View style={styles.body} key={i}>
<Text style={styles.labels}>{key}</Text>
<Text style={styles.values}>{value}</Text>
</View>
);
}
});
return (
<View>
{data}
</View>
);
};
我会如何反应呢
谢谢
Object.keys(yourObject).forEach((key)=>{ //this will return array of keys
yourObject[newKey] = yourObject[key]; //saving reference in your new key.
delete yourObject[key]; //deleting old key;
});
您将需要将旧密钥映射到新密钥,然后在循环中轻松地更改这些密钥
您需要将旧密钥映射为新密钥,然后循环使用并轻松更改此密钥。假设var数组是您的JSON数组,newArray是您想要的数组,这里的代码可以帮助您
var array = [{
"type": "pdf",
"size": "1mb",
"date": "392017",
.....500 more key value pairs like this
}]
var newArray = [];
newArray = array.map(function(item){
return {
"File Type": item.type,
"File Size": item.size,
"Date is": item.date
}
})
map方法将转换数组中的每一项,并将结果转换为另一个数组。假设var数组是您的JSON数组,newArray是您想要的数组,这里有一段代码可以帮助您
var array = [{
"type": "pdf",
"size": "1mb",
"date": "392017",
.....500 more key value pairs like this
}]
var newArray = [];
newArray = array.map(function(item){
return {
"File Type": item.type,
"File Size": item.size,
"Date is": item.date
}
})
map方法将转换数组中的每个项目并生成另一个数组。创建oldName:newName的名称映射,并使用它映射到具有新属性名称的对象,例如
var数据=[{
“类型”:“pdf”,
“大小”:“1mb”,
“日期”:“392017”
}];
var nameMap={type:'File type',
大小:'文件大小',
日期:'日期为'
};
变量重命名=[Object.keys(数据[0])。减少(
(附件,钥匙)=>{
acc[nameMap[key]]=数据[0][key];
返回acc;
}, {})];
console.log(重命名)代码>创建oldName:newName的名称映射,并使用它映射到具有新属性名称的对象,例如
var数据=[{
“类型”:“pdf”,
“大小”:“1mb”,
“日期”:“392017”
}];
var nameMap={type:'File type',
大小:'文件大小',
日期:'日期为'
};
变量重命名=[Object.keys(数据[0])。减少(
(附件,钥匙)=>{
acc[nameMap[key]]=数据[0][key];
返回acc;
}, {})];
console.log(重命名)代码>您可能会提供一个旧名称到新名称的映射,然后简单地将旧属性分配给具有新名称的新属性(在新对象中或在旧对象中),然后删除旧属性。您尝试过什么?您可能会提供一个从旧名称到新名称的映射,然后简单地将旧属性分配给具有新名称的新属性(在新对象中或在旧对象中),然后删除旧属性。您尝试过什么?这应该是一个手动过程,javascript如何知道键应该是什么?假设两个数组之间存在1对1的映射,即旧键和新键,那么就没有必要了…映射是在对象中
还是在数组中
都可以正常工作。这应该是一个手动过程,javascript如何知道键应该是什么?假设在两个数组(即新旧键)之间存在1对1的映射,那么就没有必要了……映射是在对象中
还是在数组中
都可以很好地工作。