【发布时间】:2019-05-25 19:54:34
【问题描述】:
要在我呈现的 JSON 中显示链接,我希望它们作为名称/值对中的值。
下面的函数接受一个有效的 JSON 作为参数,并且应该返回 JSON 并将它们的值转换为锚标签。
输入的 JSON 是
{"@context":"/api/contexts/EntryPoint.jsonld","@id":"/api","@type":"EntryPoint","AnomalyCollection":"/api/AnomalyCollection","CommandCollection":"/api/CommandCollection","ControllerLogCollection":"/api/ControllerLogCollection","DroneCollection":"/api/DroneCollection","DroneLogCollection":"/api/DroneLogCollection","HttpApiLogCollection":"/api/HttpApiLogCollection","Location":"/api/Location","MessageCollection":"/api/MessageCollection","dsCollection":"/api/dsCollection"}
{"k": "v"} 应该改为{"k": <a href="#">v</a>}
我知道更改后的值不会是有效的 JSON,那么出路是什么?
function makeEditable(data) {
for (var property in data) {
if (data.hasOwnProperty(property)) {
var tag = $('<a href=#>' + data[property] + '</a>');
data[property] = tag;
}
}
return data;
}
上面的函数没有给出链接,而是给出了下面的渲染。
{
@context : {
0 : "http://localhost:5000/#"
},
@id : {
0 : "http://localhost:5000/#"
},
@type : {
0 : "http://localhost:5000/#"
}
}
我想要的是类似这样的渲染
【问题讨论】:
-
我们可以看看原始的 JSON 吗?
-
@JackBashford 问题是
{"k": "v"}。 -
上述方法不会生成给定的输出。它将包含一个 jQuery 对象作为值。请为您的问题创建一个可运行文件。
-
我已经编辑了原始 JSON 的问题,尽管它与行为几乎没有关系
-
您所看到的是将 jQuery 对象转换为 JSON 时的样子。
标签: javascript jquery html json object