javascript - 使用javascript替换字符串

标签 javascript

我在文本区域中有一个 json {"request":{"method":"GET","url":"/thing/1"},"response":{"status":200} }

我目前有一个函数,它从我的文本区域获取值并替换

    function setFontText(text) {
        var str=document.getElementById("urls").value;
        var res = str.replace(/"url":"/g, "&quoturl&quot:&quot" + text + "&quot");
        document.getElementById("urls").innerHTML=res;
    }

我目前只替换 "url:"/ 但是我想完全替换(斜体部分)"url":"/thing/1" 但粗体部分是动态,所以我不想在我的代码中硬编码,如 str.replace(/"url":"/thing/1"/克

有解决办法吗?如果问题不清楚,请回复

最佳答案

假设结构一致,您可以将字符串解析为对象,然后修改该对象并将结果字符串化

function setFontText(text) {
  const str = document.getElementById("urls").value,
        obj = JSON.parse(str);
  obj.request.url = text;
  document.getElementById("urls").innerHTML = JSON.stringify(obj);
}

setFontText('/MyTest')
<textarea id="urls" cols=60 rows=6>
{"request":{"method":"GET","url":"/thing/1"},"response":{"status":200}}
</textarea>

关于javascript - 使用javascript替换字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57348675/

相关文章:

javascript - Rails 3.2.13 - 没有路线匹配 [GET] "/js/jquery.fancybox.js"

javascript - Leafletjs 动态绑定(bind) map 到可见覆盖

javascript - 使用 remove 作为 append 的对立面不起作用

javascript - 全局命名空间会被污染是什么意思?

javascript - 如何访问函数内部的函数?

javascript - 字符、符号或数字之前或之后的空格;但是,不是介于两者之间

javascript - 如何使用 jquery 或 javascript 编写检查验证的条件

java - 为网页上的 URL 设置 HTTP_REFERER?

javascript - 使用vue,我希望一个组件位于页面的最顶部,但仅限于单个 View

javascript - 如何在 MacOS 上的 Firefox 中不触发 Ctrl+LeftMouseClick 鼠标右键单击?