0

I am trying to create a json

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

Now to remove the double quotes from value of address, I do

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

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

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

which gives

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

But if i do JSON.stringify(str), I end up with

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

My question is, what is the right way to escape double quotes from a JSON string.

1
  • why do you need to escape those quotes? Commented Apr 2, 2014 at 23:20

1 Answer 1

4

why not create an object, as opposed to a string?

var obj   = {name: "Sam", address: [{street: "Main St"}, {street: "2nd Street"}]};
JSON.stringify(obj);
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.