Kanishka
Kanishka

Reputation: 1147

JSON.parse() unexpected token error

I am getting unexpected token error when trying to parse this JSON string

$scope.feeds = JSON.parse('[{"id":"212216417436_10152811286407437","from":{ "category":"Movie","name":"The Lord of the Rings Trilogy","id":"212216417436"},"story":"The Lord of the Rings Trilogy shared The Hobbit\'s photo.","picture":"https://fbcdn-sphotos-c-a.akamaihd.net/hphotos-ak-xaf1/v/t1.0-9/s130x130/1912397_736719376363670_7288336626443028501_n.jpg?oh=a7e83093f61fafa7909ff84263f989e4&oe=54B4481D&__gda__=1420472696_dbd6462629a00e218c849c5ed7b49c44","link":"https://www.facebook.com/TheHobbitMovie/photos/a.291674244201521.63650.160617097307237/736719376363670/?type=1","name":"Timeline Photos","caption":"\"I have the only right.\" \n\nWhat is your favorite Thorin quote from #TheHobbit?","properties":[  {  "name":"By","text":"The Hobbit","href":"https://www.facebook.com/TheHobbitMovie?ref=stream"}],"icon":"https://fbstatic-a.akamaihd.net/rsrc.php/v2/yD/r/aS8ecmYRys0.gif","actions":[  { "name":"Comment","link":"https://www.facebook.com/212216417436/posts/10152811286407437"},{ "name":"Like","link":"https://www.facebook.com/212216417436/posts/10152811286407437"}],"privacy":{ "value":""},"type":"photo","status_type":"shared_story","object_id":"736719376363670","application":{ "name":"Photos","id":"2305272732"},"created_time":"2014-10-12T21:35:41+0000","updated_time":"2014-10-12T21:37:17+0000"},{  "id":"21785951839_10152794856921840","from":{ "category":"App page","name":"9GAG","id":"21785951839"},"message":"Must NOT let my girlfriend see this!\nhttp://9gag.tv/p/a9OrlY?ref=fbl9\n\nWatch more awesome videos on your phone:\nAndroid ► http://goo.gl/Rbi9FP\niPhone/iPad ► http://goo.gl/NFMm9p","picture":"https://fbexternal-a.akamaihd.net/safe_image.php?d=AQCee84KqIBIdnIX&w=158&h=158&url=http%3A%2F%2Fd1d4324mp0stc8.cloudfront.net%2Fmedia%2Fphoto%2FpPgXmO5QJ_600w_v1.jpg","link":"http://9gag.tv/p/a9OrlY?ref=fbl9","name":"This \"Marry Me\" Lip-Sync Proposal Is So Touching And Amazing | 9GAG.tv","caption":"9gag.tv","description":"This sets the bar pretty high!","icon":"https://fbstatic-a.akamaihd.net/rsrc.php/v2/yD/r/aS8ecmYRys0.gif","actions":[  { "name":"Comment","link":"https://www.facebook.com/21785951839/posts/10152794856921840"},{ "name":"Like","link":"https://www.facebook.com/21785951839/posts/10152794856921840"}],"privacy":{ "value":""},"type":"link","status_type":"shared_story","created_time":"2014-10-12T21:15:00+0000","updated_time":"2014-10-12T21:15:46+0000","shares":{  "count":160}}]');

Expanded string object:

{
   "id":"212216417436_10152811286407437",
   "from":{
      "category":"Movie",
      "name":"The Lord of the Rings Trilogy",
      "id":"212216417436"
   },
   "story":"The Lord of the Rings Trilogy shared The Hobbit\'s photo.",
   "picture":"https://fbcdn-sphotos-c-a.akamaihd.net/hphotos-ak-xaf1/v/t1.0-9/s130x130/1912397_736719376363670_7288336626443028501_n.jpg?oh=a7e83093f61fafa7909ff84263f989e4&oe=54B4481D&__gda__=1420472696_dbd6462629a00e218c849c5ed7b49c44",
   "link":"https://www.facebook.com/TheHobbitMovie/photos/a.291674244201521.63650.160617097307237/736719376363670/?type=1",
   "name":"Timeline Photos",
   "caption":"\"I have the only right.\" \n\nWhat is your favorite Thorin quote from #TheHobbit?",
   "properties":[
      {
         "name":"By",
         "text":"The Hobbit",
         "href":"https://www.facebook.com/TheHobbitMovie?ref=stream"
      }
   ],
   "icon":"https://fbstatic-a.akamaihd.net/rsrc.php/v2/yD/r/aS8ecmYRys0.gif",
   "actions":[
      {
         "name":"Comment",
         "link":"https://www.facebook.com/212216417436/posts/10152811286407437"
      },
      {
         "name":"Like",
         "link":"https://www.facebook.com/212216417436/posts/10152811286407437"
      }
   ],
   "privacy":{
      "value":""
   },
   "type":"photo",
   "status_type":"shared_story",
   "object_id":"736719376363670",
   "application":{
      "name":"Photos",
      "id":"2305272732"
   },
   "created_time":"2014-10-12T21:35:41+0000",
   "updated_time":"2014-10-12T21:37:17+0000"
},
{
   "id":"21785951839_10152794856921840",
   "from":{
      "category":"App page",
      "name":"9GAG",
      "id":"21785951839"
   },
   "message":"Must NOT let my girlfriend see this!\nhttp://9gag.tv/p/a9OrlY?ref=fbl9\n\nWatch more awesome videos on your phone:\nAndroid ► http://goo.gl/Rbi9FP\niPhone/iPad ► http://goo.gl/NFMm9p",
   "picture":"https://fbexternal-a.akamaihd.net/safe_image.php?d=AQCee84KqIBIdnIX&w=158&h=158&url=http%3A%2F%2Fd1d4324mp0stc8.cloudfront.net%2Fmedia%2Fphoto%2FpPgXmO5QJ_600w_v1.jpg",
   "link":"http://9gag.tv/p/a9OrlY?ref=fbl9",
   "name":"This \"Marry Me\" Lip-Sync Proposal Is So Touching And Amazing | 9GAG.tv",
   "caption":"9gag.tv",
   "description":"This sets the bar pretty high!",
   "icon":"https://fbstatic-a.akamaihd.net/rsrc.php/v2/yD/r/aS8ecmYRys0.gif",
   "actions":[
      {
         "name":"Comment",
         "link":"https://www.facebook.com/21785951839/posts/10152794856921840"
      },
      {
         "name":"Like",
         "link":"https://www.facebook.com/21785951839/posts/10152794856921840"
      }
   ],
   "privacy":{
      "value":""
   },
   "type":"link",
   "status_type":"shared_story",
   "created_time":"2014-10-12T21:15:00+0000",
   "updated_time":"2014-10-12T21:15:46+0000",
   "shares":{
      "count":160
   }
}

Upvotes: 12

Views: 58764

Answers (2)

Amgad
Amgad

Reputation: 345

When you're typing a string in javascript, the \ is treated as escaping character, while you need it in your json to actually be a \ and not escaping character.

You need to change the \" to \\" and \n to \\n, while keeping the \' because it is already an escaping character and it should be parsed okay

Upvotes: 2

Nishad K Ahamed
Nishad K Ahamed

Reputation: 1394

verify your json string. If it is ok try this:

var jsonStr="your json string";
var json=JSON.stringify(jsonStr);
json=JSON.parse(json)

Upvotes: 30

Related Questions