Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在JavaScript中为JSON数据动态添加新级别?_Javascript_Json - Fatal编程技术网

如何在JavaScript中为JSON数据动态添加新级别?

如何在JavaScript中为JSON数据动态添加新级别?,javascript,json,Javascript,Json,我有两个JSON对象,我想将它们组合成一个JSON对象。此外,我希望它们作为子级别添加到输出JSON对象中 JSON对象1: { Title: '7500', Year: '2019', Rated: 'R', Released: '18 Jun 2020', Runtime: '93 min', Genre: 'Action, Drama, Thriller' } { Title: 'Deadpool', Year: '2016', Rated: 'R'

我有两个JSON对象,我想将它们组合成一个JSON对象。此外,我希望它们作为子级别添加到输出JSON对象中

JSON对象1

{ 
  Title: '7500',
  Year: '2019',
  Rated: 'R',
  Released: '18 Jun 2020',
  Runtime: '93 min',
  Genre: 'Action, Drama, Thriller'
}
{
  Title: 'Deadpool',
  Year: '2016',
  Rated: 'R',
  Released: '12 Feb 2016',
  Runtime: '108 min',
  Genre: 'Action, Adventure, Comedy, Sci-Fi'
}
responses: {
  7500: {
    Title: '7500',
    Year: '2019',
    Rated: 'R',
    Released: '18 Jun 2020',
    Runtime: '93 min',
    Genre: 'Action, Drama, Thriller'
  },
  Deadpool: {
    Title: 'Deadpool',
    Year: '2016',
    Rated: 'R',
    Released: '12 Feb 2016',
    Runtime: '108 min',
    Genre: 'Action, Adventure, Comedy, Sci-Fi'
  }
}
JSON对象2

{ 
  Title: '7500',
  Year: '2019',
  Rated: 'R',
  Released: '18 Jun 2020',
  Runtime: '93 min',
  Genre: 'Action, Drama, Thriller'
}
{
  Title: 'Deadpool',
  Year: '2016',
  Rated: 'R',
  Released: '12 Feb 2016',
  Runtime: '108 min',
  Genre: 'Action, Adventure, Comedy, Sci-Fi'
}
responses: {
  7500: {
    Title: '7500',
    Year: '2019',
    Rated: 'R',
    Released: '18 Jun 2020',
    Runtime: '93 min',
    Genre: 'Action, Drama, Thriller'
  },
  Deadpool: {
    Title: 'Deadpool',
    Year: '2016',
    Rated: 'R',
    Released: '12 Feb 2016',
    Runtime: '108 min',
    Genre: 'Action, Adventure, Comedy, Sci-Fi'
  }
}
所需输出

{ 
  Title: '7500',
  Year: '2019',
  Rated: 'R',
  Released: '18 Jun 2020',
  Runtime: '93 min',
  Genre: 'Action, Drama, Thriller'
}
{
  Title: 'Deadpool',
  Year: '2016',
  Rated: 'R',
  Released: '12 Feb 2016',
  Runtime: '108 min',
  Genre: 'Action, Adventure, Comedy, Sci-Fi'
}
responses: {
  7500: {
    Title: '7500',
    Year: '2019',
    Rated: 'R',
    Released: '18 Jun 2020',
    Runtime: '93 min',
    Genre: 'Action, Drama, Thriller'
  },
  Deadpool: {
    Title: 'Deadpool',
    Year: '2016',
    Rated: 'R',
    Released: '12 Feb 2016',
    Runtime: '108 min',
    Genre: 'Action, Adventure, Comedy, Sci-Fi'
  }
}

如何执行此操作?

您可以将两个对象添加到一个数组中,然后使用将每个对象映射到
[object.Title,object]
格式的数组中。使用此新数组,可以使用将其转换为对象。通过将对象放入阵列,可以将其扩展到多个电影对象:
const movies=[{片名:'7500',年份:'2019',分级:'R',发行:'2020年6月18日',运行时:'93分钟',类型:'动作、戏剧、惊悚片'},{片名:'Deadpool',年份:'2016',分级:'R',发行:'2016年2月12日',运行时:'108分钟',类型:'动作、冒险、喜剧、科幻'};
const result=Object.fromEntries(movies.map(obj=>[obj.Title,obj]);

控制台日志(结果)您可以使用动态属性名()

const obj1={
标题:“7500”,
年份:“2019年”,
评级为:“R”,
发布日期:“2020年6月18日”,
运行时间:“93分钟”,
类型:“动作、戏剧、惊悚片”,
};
常数obj2={
标题:“死池”,
年份:“2016年”,
评级为:“R”,
发布日期:“2016年2月12日”,
运行时间:“108分钟”,
类型:“动作、冒险、喜剧、科幻”,
};
常量对象={
[obj1.标题]:obj1,
[obj2.标题]:obj2,
};
控制台日志(obj)嗯,令人惊讶。