我想使用replace函数扫描json对象,然后用字符串替换匹配的单词
I want to to use the replace function to scan a json object and then replace the matched word with a string
我的javascript中有一个Json对象我想用"你好"替换"嗨"的所有实例。这是我的代码
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<button onclick="myFunction()">Try it</button>
<script>
function myFunction() {
var res1 = /hi/gi;
var str = [{"hi":"new","hi":"sun","hi":"hi"}];
var res = str.replace(res1, "hello");
document.getElementById("demo").innerHTML = res;
}
</script>
</body>
</html>
如有任何帮助,我们将不胜感激。感谢
编辑:
function myFunction() {
var res1 = /hi/gi;
var str = {"hi":[{"men":"hi","hi":"sun","hi":"hi"}]};
var mouse = JSON.stringify(str);
var res = mouse.replace(res1, "hello");
document.getElementById("demo").innerHTML = res;
}
使用此功能后,它只打印{"hello":[{"men":"hello,"hello":"hello"}]}。。为什么不打印"你好":"sun?
这不是JSON对象,这只是一个Javascript对象。JSON确实有smae语法,但不要将它们混合在一起。
此外,通过创建这样的对象,这里就是您创建的:
-
[]->str是一个数组
-
〔{}〕->str是一个数组,他的第一个值是对象
- 对象的键值
最后:str[0].hi将具有值"hi"或"new"(不知道会忽略哪一个)。str[0].sun将具有值"hi"。
我不明白你为什么要重命名对象的键。如果要替换所有值:
for(key in str[0]){
str[key] = str[key].replace(res1, "hello");
}
相关文章:
- 如何用jquery替换字符串中可能变化的字符
- 用数字单位替换字符串的一部分
- 替换字符串javascript中的所有特殊字符..
- 替换字符串的脚本;在某些网站上不起作用
- 使用javascript替换字符串中除第一个和最后一个之外的所有字符
- 替换字符串中的占位符值
- 用HTML元素替换字符串的一部分
- JavaScript来替换字符串中的变量
- 如何替换字符串中最后一个出现的变量
- 在JavaScript中,如何用一个字符替换字符串中的所有字母
- 替换字符串中的数字
- 如何使用JavaScript Regex替换字符串中双引号之间的文本
- JavaScript:替换字符串两边的字符
- 用JQuery/Javascript替换字符串中的所有逗号
- 替换字符串的下一个匹配项
- JavaScript 不会替换字符串的最后一个符号
- 在 JavaScript 中替换字符串中的字母
- 修复了如何在容器中查找和替换字符串的功能
- 需要在 javascript 倒计时达到 0 后替换字符串
- j如何从给定字符串的一部分替换字符串