Избавление от кавычек из строки в JavaScript

0

Я пытаюсь создать json

var str  = '{"name": "Sam", "address": [{"street": "Main St"}, {"street": "2nd Street"}]}';

Теперь, чтобы удалить двойные кавычки из значения адреса, я делаю

var street = '[{"street": "Main St"}, {"street": "2nd Street"}]';

street = street.replace(/[\\"']/g, '\\$&').replace(/\u0000/g, '\\0');

str = '{"name": "Sam", "address": "'+street+'"}'

который дает

{"name": "Sam", "address": "[{\"street\": \"Main St\"}, {\"street\": \"2nd Street\"}]"}"

Но если я делаю JSON.stringify(str), я получаю

"{\"name\": \"Sam\", \"address\": \"[{\\\"street\\\": \\\"Main St\\\"}, {\\\"street\\\": \\\"2nd Street\\\"}]\"}

Мой вопрос в том, каков правильный способ избежать двойных кавычек из строки JSON.

  • 0
    почему вы должны избежать этих цитат?
Теги:

1 ответ

4
Лучший ответ

почему бы не создать объект, а не строку?

var obj   = {name: "Sam", address: [{street: "Main St"}, {street: "2nd Street"}]};
JSON.stringify(obj);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню