Javascript输出json字符串如何操作。替换
我用javascript编写了这个脚本Javascript输出json字符串如何操作。替换,javascript,json,object,Javascript,Json,Object,我用javascript编写了这个脚本 socket.onmessage = function (event) { var theDiv = document.getElementById("cli"); var JSONObject = JSON.parse(event.data); if(JSONObject.event === "console output") { th
socket.onmessage = function (event) {
var theDiv = document.getElementById("cli");
var JSONObject = JSON.parse(event.data);
if(JSONObject.event === "console output") {
theDiv.innerHTML += "<div>" + JSONObject['args'] + "</div>";
}
};
字符串是这个
{"event":"console output","args":["\u003e\u001b[2K\r[16:10:47] [Server thread/INFO]: [Server] test"]}
如何将其从字符串\u003e\u001b[2K\r
中删除
我试过了,但没用
socket.onmessage = function (event) {
var theDiv = document.getElementById("cli");
var JSONObject = JSON.parse(event.data.replaceAll("\u003e\u001b[2K\r", ""));
if(JSONObject.event === "console output") {
theDiv.innerHTML += "<div>" + JSONObject['args'] + "</div>";
}
};
解析JSON后进行替换 您需要使用
map()
,因为JSONObject.args
是一个数组
theDiv.innerHTML += "<div>" + JSONObject.args.map(arg => arg.replaceAll( "\u003e\u001b[2K\r", "")) + "</div>";
但是直接操作JSON字符串通常不是一个好主意,因为您可能会使JSON无效。通常最好先解析JSON,然后处理生成的对象/数组。您可以尝试转换
toString()
,然后删除该值
JSONObject['args'].toString().replace('\u003e\u001b[2K\r', '')
你能修好API吗?这些代码是要在终端上显示颜色的,没有理由在API中发送。不,我不能在API中修好它。但是不能在字符串中删除它吗?不,这不起作用。此错误
控制台:53未捕获类型错误:JSONObject.args.replaceAll不是WebSocket.socket.onmessage的函数>它是一个数组,所以您需要映射到elements.tnx!这正在工作var JSONObject=JSON.parse(event.data.replaceAll(“\\u003e\\u001b[2K\\r”,”);
theDiv.innerHTML += "<div>" + JSONObject.args.map(arg => arg.replaceAll( "\u003e\u001b[2K\r", "")) + "</div>";
var JSONObject = JSON.parse(event.data.replaceAll("\\u003e\\u001b[2K\\r", ""));
JSONObject['args'].toString().replace('\u003e\u001b[2K\r', '')