StudioTime
StudioTime

Reputation: 23959

JSON not parsing - TypeError

I have to following sample JSON:

{
 "findItemsByKeywordsResponse":[
  {
     "ack":[
        "Success"
     ],
     "version":[
        "1.13.0"
     ],
     "timestamp":[
        "2015-02-10T18:12:21.785Z"
     ],
     "searchResult":[
        {
           "@count":"100",
           "item":[
              {
                 "itemId":[
                    "371250980931"
                 ],
                 "title":[ etc etc...

I'm trying to parse it as follows:

function _cb_findItemsByKeywords(root) {
  var items = root.findItemsByKeywordsResponse[0].searchResult[0].item || [];
  etc etc...
}

But get the following error:

TypeError: root.findItemsByKeywordsResponse is undefined
    var items = root.findItemsByKeywordsResponse[0].searchResult[0].item || [];
    ----^

Any ideas what I'm doing wrong?

Upvotes: 0

Views: 124

Answers (1)

Spectator
Spectator

Reputation: 79

You need to parse the root

function _cb_findItemsByKeywords(root) {
  root = JSON.parse(root);
  var items = root.findItemsByKeywordsResponse[0].searchResult[0].item || [];
  etc etc...
}

A JSON is only a String to Javascript and you need to parse it to an Object.

Upvotes: 2

Related Questions