Reputation: 23959
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
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