I have the following line of code:

data = jQuery.parseJSON(data); 

Which is creating the following error...

SyntaxError: JSON Parse error: Unexpected EOF

I can't work out how to identify what's causing the error though.

Any ideas?

Here's the data...

{ "element_type": "paint", "edit_element_id": "2117", "paint_id": "15", "paint_editable_data": "zwibbler3.[{\"id\":0,\"type\":\"GroupNode\",\"fillStyle\":\"#cccccc\",\"strokeStyle\":\"#000000\",\"lineWidth\":2,\"shadow\":false,\"matrix\":[1,0,0,1,0,0],\"layer\":\"default\"},{\"id\":1,\"type\":\"PageNode\",\"parent\":0,\"fillStyle\":\"#cccccc\",\"strokeStyle\":\"#000000\",\"lineWidth\":2,\"shadow\":false,\"matrix\":[1,0,0,1,0,0],\"layer\":\"default\"},{\"id\":2,\"type\":\"BrushNode\",\"parent\":1,\"fillStyle\":\"#cccccc\",\"strokeStyle\":\"#000000\",\"lineWidth\":10,\"shadow\":false,\"matrix\":[1,0,0,1,0,0],\"layer\":\"default\",\"points\":[17,21,17,22,17,24,17,28,18,34,37,55,49,59,70,61,89,56,92,55,93,54]},{\"id\":3,\"type\":\"PathNode\",\"parent\":1,\"fillStyle\":\"#e0e0e0\",\"strokeStyle\":\"#000000\",\"lineWidth\":2,\"shadow\":false,\"matrix\":[1,0,0,1,-14,-85],\"layer\":\"default\",\"textFillStyle\":\"#000000\",\"fontName\":\"Arial\",\"fontSize\":20,\"dashes\":\"\",\"smoothness\":0.3,\"sloppiness\":0,\"closed\":true,\"arrowSize\":0,\"arrowStyle\":\"simple\",\"doubleArrow\":false,\"text\":\"\",\"roundRadius\":0,\"commands\":[0,150,100,6,200,150,200,100,6,150,200,200,200,6,100,150,100,200,6,150,100,100,100,7],\"seed\":36934}]", "paint_image_data": "data:image/png;base64,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" } 

Is it the size that's the problem maybe?

8

4 Answers

It looks like you are trying to convert a text string into a JSON data object.

You should probably be doing the following:

  • instead of using jQuery.parseJSON(data), rather just use JSON.parse(data).
  • The error you mentioned indicates you are passing in an empty string "" as your value of data. So check the value that is being passed in to the parse method.
  • The data object you mentioned that you are passing in will always result in an error since it's already in a JSON format.

The parse method is intended to do the following conversion.

JSON.parse("{\"hello\":\"world\"}") returns {hello:'world'}

If you are trying to convert in an object into a string, you can try this:

JSON.stringify({hello:'world'}) returns "{\"hello\":\"world\"}"

The reason is simple. When you define the JSON in the script, the double quotes should be represented by \" , not " .

In my case i was also facing that same error in React-native but after look into my code i found that .. .my API hit URL was not complete .. and after that.. my problem was resolved :)

2

Maybe you can do with the eval method :

if (data !== null) { var json_obj= eval("("+data+")"); //jQuery.parseJSON(data); //just for check the the keys var keys = Object.keys(json_obj); for (var i = 0; i < keys.length; i++) { console.log(keys[i]); }; } 

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy