Home > other >  JSON unexpected token due to filename
JSON unexpected token due to filename

Time:02-03

I have PHP code that takes a list of filename or empty strings and puts them in an array. This array is converted into JSON and stored in a database, this works fine. However, the array is also stored in an object. The issue is when I decode the JSON string of the object. I am running into an error when I try to parse this JSON string in JavaScript: (I don't want to show the rest of the JSON due to privacy)

{"dateCreated":"2022-02-02","dateTimeCreated":"2022-02-02T20:47","title":"lovesick","images":["","","D:\xampp\htdocs\...

Error:

VM8206:1 Uncaught SyntaxError: Unexpected token x in JSON at position 107 at JSON.parse () at new_log.php:33:50

The error is clearly due to the \ being an escape character in JSON but I have tried entering the string into the array with an escape to escape the escape: 'D:\\xampp\\htdocs\...' and this still gives me the same error - I have even tried \\ and \\ but they just give a slightly different error.

If I put the array into the object as a JSON string then I get the error:

VM8178:1 Uncaught SyntaxError: Unexpected string in JSON at position 96 at JSON.parse () at new_log.php:33:50

despite it being the exact same JSON string as shown above?!

Does anyone know how I can fix this issue? Is there some other way I should be storing filenames in JSON?

CodePudding user response:

Hey mate what you need to do is Escape your backslashes in your images array.

Here is what I have done in the console: escaped string working

What you need to do is format your Json data before you send it across the line:

Here is a similar question and answer that will help : How to escape special characters in building a JSON string?

  •  Tags:  
  • Related