Javascript 使json中的url可点击

Javascript 使json中的url可点击,javascript,html,json,Javascript,Html,Json,我有一个巨大的JSON文件,它由不同的字段组成,有些字段可能包含URL,我想让所有URL都可以点击。有没有一种方法可以让所有URL都可以点击,而不必通过字段访问数据 以下是我的JSON文件示例: { "example": [ { "name": "google", "desc": "this is google (https://www.google.com/) " }, { "n

我有一个巨大的JSON文件,它由不同的字段组成,有些字段可能包含URL,我想让所有URL都可以点击。有没有一种方法可以让所有URL都可以点击,而不必通过字段访问数据

以下是我的JSON文件示例:

{
    "example": [
        {
          "name": "google",
          "desc": "this is google (https://www.google.com/) "
        },
        {
          "name": "yahoo",
          "url": "https://au.yahoo.com/"
        },
        {
          "name": "stackoverflow",
          "link": " click this, https://stackoverflow.com"
        }
    ]
}
试一试

让r=d.example.map(x=>(x.u=x.url | | | x.link | | x.desc,x))
.map(x=>(x.u=x.u.match(/http[^)(]*/),x))
.map(x=>``)
msg.innerHTML=r.join(“”)
在这里使用标准JS/HTML功能、、和

让d={
“示例”:[
{
“名称”:“谷歌”,
“desc”:“这是谷歌(https://www.google.com/) "
},
{
“名称”:“雅虎”,
“url”:”https://au.yahoo.com/"
},
{
“名称”:“stackoverflow”,
“链接”:“单击此,https://stackoverflow.com"
},
]
}
设r=d.example.map(x=>(x.u=x.url | | | x.link | | x.desc,x))
.map(x=>(x.u=x.u.match(/http[^)(]*/),x))
.map(x=>``)
msg.innerHTML=r.join(“”)

我猜您的链接将附加到DOM树,因此您可以使用
String\replace
和正则表达式来实现这一点。你说的是什么嵌套对象?“可点击”是一种适用于显示(呈现)内容的特性,JSON可以通过无数种不同的方式呈现,其中一半可以通过用户代理(千禧一代称之为“浏览器”)呈现。不幸的是,您让我们猜测您如何呈现引用的文本。这只是数据本身。在不知道如何呈现它的情况下,将不会应用有关如何使链接可单击的建议。您应该在代码中添加一些注释来解释发生了什么,否则它只是一个代码转储。
let r=d.example.map(x=> (x.u=x.url||x.link||x.desc, x))
               .map(x=> (x.u=x.u.match(/http[^ )(]*/),x))
               .map(x=> `<div><a href="${x.u}"> ${x.name}</a></div>`)

msg.innerHTML = r.join('')