Как заменить всех братьев и сестер из строки JSON в JavaScript? - PullRequest
2 голосов
/ 20 февраля 2010

Как заменить всех братьев и сестер " " из строки JSON?

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

И, между прочим, посоветуйте мне, пожалуйста, какую-нибудь хорошую статью или книгу, из которой я мог бы наконец выучить регулярные выражения: (

Ответы [ 4 ]

4 голосов
/ 20 февраля 2010

Если вы анализируете строку JSON, вы также можете использовать параметр reviver JSON.parse(string, [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 или браузер с правильной реализацией ECMAScript 5-й редакции объекта JSON.

2 голосов
/ 20 февраля 2010
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, '');
}

Регулярные выражения - хорошее место для изучения регулярных выражений.

1 голос
/ 20 февраля 2010

Попробуйте это:

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(' ', '');
}

Кроме того, место, которое мне больше всего помогло в изучении регулярных выражений:

0 голосов
/ 20 февраля 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...