如何在JavaScript中替换JSON字符串中的所有兄弟姐妹?

时间:2010-02-20 12:45:08

标签: javascript regex json

如何从JSON字符串中替换所有“ ”兄弟姐妹?

{"Cat":"laps milk","Dog":"Woofs at Postman","Bird":"Jumps over the river","I":"Want to learn Regexp"}

顺便说一句,请给我一些好的文章或书籍,我最后可以学习Regexp :(

4 个答案:

答案 0 :(得分:4)

如果您正在解析JSON字符串,您还可以使用JSON.parse(string, [reviver])的reviver参数:

var jsonStr = '{"Cat":"laps milk","Dog":"Woofs at Postman","Bird":"Jumps over the river","I":"Want to learn Regexp"}';
var result = JSON.parse(jsonStr, function (key, value) {
    return value.replace(/ /g, " ");
});

同样,stringify方法允许替换器函数在转换为JSON字符串时替换任何值:

var obj = {"Cat":"laps milk","Dog":"Woofs at Postman","Bird":"Jumps over the river","I":"Want to learn Regexp"};
var result = JSON.stringify(obj, function (key, value) {
    return value.replace(/ /g, " ");
});

当然,这是假设您正在使用json2.js或具有JSON对象的正确ECMAScript 5th Edition实现的浏览器。

答案 1 :(得分:2)

var json = { "Cat"  : "laps_ milk",
             "Dog"  : "Woofs_ at_ Postman",
             "Bird" : "Jumps_ over_ the_ river",
             "I"    : "Want_ to_ learn_ Regexp" };
for (var prop in json) {
    json[prop] = json[prop].replace(/_/gi, '');
}

Regular Expressions是学习正则表达式的好地方。

答案 2 :(得分:1)

试试这个:

var obj = {"Cat":"laps milk","Dog":"Woofs at Postman","Bird":"Jumps over the river","I":"Want to learn Regexp"};
for(var key in obj) {
    obj[key] = obj[key].replace(' ', '');
}

此外,在帮助我学习正则表达式方面最有帮助的地方:

答案 3 :(得分:0)

在Mootools中:console.log(JSON.encode(mystring).replace(/   / gi,''));