如何从 json 中拆分对象数组?



你能不能像sippet中提到的从json数组中拆分每个内容渲染?如何使用javascript拆分此json数据?如何使用javascript拆分此json数据?我希望在不同的变量中存储content.renderjson,描述为第一个p标签,图像为第二个p标签,文件为第三个p标签,以将其显示在html页面中。

const str = `{
"author": 1,
"content": {
"rendered": "<p>Welcome to WordPress. This is your first post. Edit or delete it, then start writing!</p>\n<p><a href=\"file.pdf\"></a></p>\n<p><img src=\"image.jpg\"/></p>",
"protected": false
}
}`
let json = JSON.parse(str)
let content = document.createElement('div')
content.innerHTML = json.content.rendered
let description = content.querySelector('p').innerText
let image = content.querySelector('img').src
let file = content.querySelector('a').href
let result = {
description,
image,
file
}
[{
"author": 1,
"content": {
"rendered": "<p>Welcome to WordPress. This is your first post. Edit or delete it, then start writing!</p>n<p><a href="file.pdf"></a></p>n<p><img src="image.jpg"/></p>",
"protected": false
}
},
{
"author": 1,
"content": {
"rendered": "<p>Welcome to WordPress. This is your first post. Edit or delete it, then start writing!</p>n<p><a href="file.pdf"></a></p>n<p><img src="image.jpg"/></p>",
"protected": false
}
},
{
"author": 1,
"content": {
"rendered": "<p>Welcome to WordPress. This is your first post. Edit or delete it, then start writing!</p>n<p><a href="file.pdf"></a></p>n<p><img src="image.jpg"/></p>",
"protected": false
}
}]

您可以在数组上使用map

因此,根据我之前的回答,这就是您如何实现这一目标的方法。

const myArray = [
{
author: 1,
content: {
rendered:
'<p>Welcome to WordPress. This is your first post. Edit or delete it, then start writing!</p>n<p><a href="file.pdf"></a></p>n<p><img src="image.jpg"/></p>',
protected: false
}
},
{
author: 1,
content: {
rendered:
'<p>Welcome to WordPress. This is your first post. Edit or delete it, then start writing!</p>n<p><a href="file.pdf"></a></p>n<p><img src="image.jpg"/></p>',
protected: false
}
},
{
author: 1,
content: {
rendered:
'<p>Welcome to WordPress. This is your first post. Edit or delete it, then start writing!</p>n<p><a href="file.pdf"></a></p>n<p><img src="image.jpg"/></p>',
protected: false
}
}
]
const extractData = obj => {
let content = document.createElement('div')
content.innerHTML = obj.content.rendered
let description = content.querySelector('p').innerText
let image = content.querySelector('img').src
let file = content.querySelector('a').href
return {
description,
image,
file
}
}
const results = myArray.map(extractData)

最新更新