我一直在为这个问题绞尽脑汁,我试图用一些没有乐趣的递归函数来解决这个问题,所以我想问问是否有人有任何解决方案。
我有一个混合了 JSON 和数组的对象,简而言之,我需要去掉数组,但在最初找到数组的位置保留它们的值。
这是对象/数组的console.log:
对象{类型:数组[1],属性:对象}
- 属性:对象
-
- 关联媒体:数组[1]
-
- 0:对象
-
- 属性:对象
-
- 网址:数组[1]
-
- 0:“/programmes/p00t64wh.emp”
- 长度:1
- 原型:数组[0]
- 原型:对象
- 类型:数组[1]
-
- 0:“媒体对象”
- 长度:1
- 原型:数组[0]
- 原型:对象
- 长度:1
- 原型:数组[0]
- byArtist:数组[1]
-
- 0:对象
-
- 属性:对象
-
- 名称:数组[1]
-
- 0:“培养人民”
- 长度:1
- 原型:数组[0]
- 网址:数组[1]
-
- 0:“/音乐/艺术家/e0e1a584-dd0a-4bd1-88d1-c4c62895039d”
- 长度:1
- 原型:数组[0]
- 原型:对象
- 类型:数组[1]
-
- 0:“音乐组”
- 长度:1
- 原型:数组[0]
- 原型:对象
- 长度:1
- 原型:数组[0]
- 图片:数组[1]
-
- 0:“/radio1/chart/artwork/ussm11002931.jpg”
- 长度:1
- 原型:数组[0]
- 名称:数组[1]
-
- 0:“打气”
- 长度:1
- 原型:数组[0]
- 发布:数组[1]
-
- 0:对象
-
- 属性:对象
-
- partOfSeries:数组[1]
-
- 0:对象
-
- 属性:对象
-
- 名称:数组[1]
-
- 0:“劳伦·拉文”
- 长度:1
- 原型:数组[0]
- 网址:数组[1]
-
- 0:“/程序/b00c000j”
- 长度:1
- 原型:数组[0]
- 原型:对象
- 类型:数组[1]
-
- 0:“系列”
- 长度:1
- 原型:数组[0]
- 原型:对象
- 长度:1
- 原型:数组[0]
- 发布日期:数组[1]
-
- 0:对象
-
- 属性:对象
-
- 名称:数组[1]
-
- 0:“来自 BBC Radio 6 音乐”
- 长度:1
- 原型:数组[0]
- 网址:数组[1]
-
- 0: "/6音乐/"
- 长度:1
- 原型:数组[0]
- 原型:对象
- 类型:数组[1]
-
- 0:“广播服务”
- 长度:1
- 原型:数组[0]
- 原型:对象
- 长度:1
- 原型:数组[0]
- 原型:对象
- 类型:数组[1]
-
- 0:“情节”
- 长度:1
- 原型:数组[0]
- 原型:对象
- 长度:1
- 原型:数组[0]
- 原型:对象
- 类型:数组[1]
-
- 0:“音乐录音”
- 长度:1
- 原型:数组[0]
- 原型:对象
所需的转换应该类似于下面的代码,但如果,例如,保留“属性”但所有数组都应该被剥离到一个对象中,这不是一个大问题。
{
'associatedMedia': {
'url':'/programmes/p00t64wh.emp',
'type':'MediaObject'
},
'byArtist': {
'name':'Foster the People',
'url':'/music/artists/e0e1a584-dd0a-4bd1-88d1-c4c62895039d',
'type':'MusicGroup'
},
'publication': {
'publishedOn':{
'name':'From BBC Radio 6 Music',
'url':'/6music/',
'type':'BroadcastService'
},
'partOfSeries':{
'name':'Lauren Laverne',
'url':'programmes/b00c000j',
'type':'Series'
}
'type':'http://schema.org/Episode'
}
'image':'/radio1/chart/artwork/ussm11002931.jpg',
'name':'Pumped up Kicks',
'type':'MusicRecording'
}
所有键和值都是动态分配的,但是需要转换的对象将遵循:对象 > 键/值 > 0 > 属性 > 键/值
在此先感谢您的帮助:)