我一直在用这个绞尽脑汁,我试图用一些递归函数解决这个问题而没有快乐,所以我想我会问是否有人有任何解决方案。
我有一个JSON和数组混合的对象,简而言之,我需要删除数组,但保留它们最初找到数组的值。
这是对象/数组的console.log:
Object {type:Array [1],properties:Object}
- properties:Object
-
- associatedMedia:Array [1]
-
- 0:对象
-
- properties:Object
-
- url:Array [1]
-
- 0:“/ programme / p00t64wh.emp”
- 长度:1
- proto :数组[0]
- proto :对象
- type:Array [1]
-
- 0:“MediaObject”
- 长度:1
- proto :数组[0]
- proto :对象
- 长度:1
- proto :数组[0]
- byArtist:Array [1]
-
- 0:对象
-
- properties:Object
-
- name:Array [1]
-
- 0:“培养人民”
- 长度:1
- proto :数组[0]
- url:Array [1]
-
- 0:“/ music / artists / e0e1a584-dd0a-4bd1-88d1-c4c62895039d”
- 长度:1
- proto :数组[0]
- proto :对象
- type:Array [1]
-
- 0:“MusicGroup”
- 长度:1
- proto :数组[0]
- proto :对象
- 长度:1
- proto :数组[0]
- image:Array [1]
-
- 0:“/ radio1 / chart / artwork / ussm11002931.jpg”
- 长度:1
- proto :数组[0]
- name:Array [1]
-
- 0:“Pumped Up Kicks”
- 长度:1
- proto :数组[0]
- publication:Array [1]
-
- 0:对象
-
- properties:Object
-
- partOfSeries:Array [1]
-
- 0:对象
-
- properties:Object
-
- name:Array [1]
-
- 0:“Lauren Laverne”
- 长度:1
- proto :数组[0]
- url:Array [1]
-
- 0:“/ programs / b00c000j”
- 长度:1
- proto :数组[0]
- proto :对象
- type:Array [1]
-
- 0:“系列”
- 长度:1
- proto :数组[0]
- proto :对象
- 长度:1
- proto :数组[0]
- publishedOn:Array [1]
-
- 0:对象
-
- properties:Object
-
- name:Array [1]
-
- 0:“来自BBC Radio 6 Music”
- 长度:1
- proto :数组[0]
- url:Array [1]
-
- 0:“/ 6music /”
- 长度:1
- proto :数组[0]
- proto :对象
- type:Array [1]
-
- 0:“BroadcastService”
- 长度:1
- proto :数组[0]
- proto :对象
- 长度:1
- proto :数组[0]
- proto :对象
- type:Array [1]
-
- 0:“Episode”
- 长度:1
- proto :数组[0]
- proto :对象
- 长度:1
- proto :数组[0]
- proto :对象
- type:Array [1]
-
- 0:“MusicRecording”
- 长度:1
- proto :数组[0]
- proto :对象
醇>
所需的转换应该类似于下面的代码,但是如果例如“属性”仍然存在但所有数组都应该被剥离到对象中,那么这不是一个大问题。
{
'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>属性>键/值
提前感谢您的任何帮助:)