繁体   English   中英

如何将属性值名称从 JSON 文件更改为对象?

[英]How do I change the property value name from an JSON file to object?

所以基本上我有这个json文件

[
 {
"_id": "62bab08c83586a7bb36b46de",
"index": 0,
"tags": [
  "ea in minim in occaecat pariatur cillum",
  "ut exercitation minim officia enim cillum anim",
  "ad occaecat labore velit cupidatat enim proident",
  "consequat culpa qui occaecat sit sunt voluptate",
  "eiusmod excepteur adipisicing tempor ut Lorem do",
  "quis velit aliquip ad excepteur deserunt do",
  "dolor fugiat ea sit adipisicing labore in"
]
},
{
"_id": "62bab08c10365bb88f81cdf5",
"index": 1,
"tags": [
  "non laborum cillum commodo velit culpa commodo",
  "nisi aute magna laborum ut cillum velit",
  "in veniam ullamco officia aute deserunt ex",
  "dolor ullamco aliqua laborum ullamco officia mollit",
  "fugiat aliquip nostrud deserunt fugiat veniam veniam",
  "culpa eu irure ullamco ea deserunt ullamco",
  "labore quis quis enim magna duis cupidatat"
 ]
 },
 ]

我必须将所有数据从 JSON 文件传输到我的本地对象let localobj; 之后更改属性名称:

id => person_id

索引 => idx

标签 => 语音线路;

我似乎无法掌握使用 javascript 更改属性名称的概念,这甚至可能吗?

您可以迭代数据数组并设置对象的属性,试试这个:

 let data = [ { "_id": "62bab08c83586a7bb36b46de", "index": 0, "tags": [ "ea in minim in occaecat pariatur cillum", "ut exercitation minim officia enim cillum anim", "ad occaecat labore velit cupidatat enim proident", "consequat culpa qui occaecat sit sunt voluptate", "eiusmod excepteur adipisicing tempor ut Lorem do", "quis velit aliquip ad excepteur deserunt do", "dolor fugiat ea sit adipisicing labore in" ] }, { "_id": "62bab08c10365bb88f81cdf5", "index": 1, "tags": [ "non laborum cillum commodo velit culpa commodo", "nisi aute magna laborum ut cillum velit", "in veniam ullamco officia aute deserunt ex", "dolor ullamco aliqua laborum ullamco officia mollit", "fugiat aliquip nostrud deserunt fugiat veniam veniam", "culpa eu irure ullamco ea deserunt ullamco", "labore quis quis enim magna duis cupidatat" ] }, ]; let local = []; data.forEach(item => { let obj = {}; obj.person_id = item['_id']; obj.idx = item['index']; obj.voiceLines = item['tags']; local.push(obj); }); console.log(local);

这将是.map() 数组方法在 javascript 中的一个很好的应用,它允许您遍历数组并返回一个新数组。 .map()像这样工作:

const originalJsonArray = [...] //Whatever your original input is here

const newJsonArray = originalJsonArray.map((singleItem)=>{
   return {
      person_id: singleItem._id,
      idx: singleItem.index,
      voiceLines: singleItem.tags
   }
})

您必须使用.map()来迭代您的数据,因为它在一个数组中。 请注意,每个新属性名称位于左侧,原始属性名称位于右侧,因为您正在从数据数组中的每个原始条目中读取它们。

const modifiedData = data.map((entry) => {
  return {
    person_id : entry._id,
    idx : entry.index,
    voiceLines : entry.tags
  }
})

如需更多帮助,请参阅此处: https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map

暂无
暂无

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

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