一种解决方法是使用JSON.stringify()将对象转换为字符串,然后使用document.execCommand()将字符串复制到剪贴板。以下是示例代码:
// 要复制的对象
var obj = { name: "John Doe", age: 30, city: "New York" };
// 将对象转换为JSON字符串
var jsonString = JSON.stringify(obj, null, 2);
// 创建一个文本区域元素
var textarea = document.createElement("textarea");
textarea.value = jsonString;
// 将文本区域元素添加到页面中,但将其隐藏
textarea.style.position = "fixed";
textarea.style.opacity = 0;
document.body.appendChild(textarea);
// 选择文本区域中的文本
textarea.focus();
textarea.select();
// 将文本复制到剪贴板
document.execCommand("copy");
// 将文本区域元素从页面中删除
document.body.removeChild(textarea);
上述代码将对象转换为JSON字符串,并将其复制到剪贴板中。使用JSON.stringify()的第二个参数可以使JSON字符串格式化。此代码在大多数现代浏览器中都有效,并且应该能够以类似的方式在Node.js中使用。