4

I'm trying to get a json request, sent by post, and do the JSON.parse on it. But this error happens:

Uncaught SyntaxError: Unexpected token m in JSON at position 2 at JSON.parse () at :1:19

The code below reproduces the error:

const string = '{ msg_reject: \'Rejeitado porque sim\', accept: 1, photo: \'FSADKJK23B1\' }'
const json = JSON.parse(string)

And that's the way I'm sending it in my post

{ msg_reject: 'Rejeitado porque sim', accept: 1, photo: 'FSADKJK23B1' }

Is there something wrong in the way I'm sending it?

2
  • this is not a valid json so that why you are getting this error Commented Apr 3, 2018 at 6:47
  • Possible duplicate of in JSON, Why is each name quoted? Commented Dec 3, 2018 at 18:55

3 Answers 3

25

Properly formatted JSON strings have " double quotes around each key and each string value.

const string = '{ "msg_reject": "Rejeitado porque sim", "accept": 1, "photo": "FSADKJK23B1" }';
const json = JSON.parse(string);
console.log(json);

Sign up to request clarification or add additional context in comments.

Comments

4

Your JSON string is not formatted correctly, you will have to add double quotes " for keys & values as:

const string = '{ "msg_reject": "Rejeitado porque sim", "accept": 1, "photo": "FSADKJK23B1" }';

There are many online parser available where you can validate your JSON string, I generally use https://jsonformatter.org/json-parser to verify my JSON whenever it requires.

Comments

0

While sending in post, Stringify the object first, Use JSON.stringify(object) and send, while retrieving JSON.parse should work fine

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.