IBM Worklight - 解析JSON响应

时间:2014-08-07 03:29:04

标签: javascript json ibm-mobilefirst worklight-adapters

如何解析我的javascript代码中的JSON响应?在我调用我的worklight适配器后,我得到了这个结果。

{"linkAccountList": [{
    "accountRule": "1",
    "accountCurrencyISO": "IDR",
    "nickName": "",
    "accountCurrency": "016",
    "accountTypeDisplay": "",
    "accountType": "",
    "accountNo": "1001328000",
    "accountHolderName": "LELY HERNAWATI"
}, {
    "accountRule": "1",
    "accountCurrencyISO": "IDR",
    "nickName": "",
    "accountCurrency": "016",
    "accountTypeDisplay": "",
    "accountType": "",
    "accountNo": "30000000100677",
    "accountHolderName": "LELY HERNAWATI"
}, {
    "accountRule": "1",
    "accountCurrencyISO": "IDR",
    "nickName": "",
    "accountCurrency": "016",
    "accountTypeDisplay": "",
    "accountType": "",
    "accountNo": "2003500382",
    "accountHolderName": "LELY HERNAWATI"
}]
}

然后我将值存储在sessionStorage中。

sessionStorage.setItem("linkAccountList", result.invocationResult.linkAccountList);

之后我提醒价值,这不是我想要的JSON.stringify()它。

linkAccountList :: "[object Object],[object Object],[object Object]"

我想要的就像上面的结果一样。

我的成功功能

function welcomeSuccess(result){
    WL.Logger.debug("List retrieve success");
    busyIndicator.hide();
    sessionStorage.setItem("linkAccountList", result.invocationResult.linkAccountList);
    WL.Logger.debug("linkAccountList :: " + JSON.stringify(sessionStorage.linkAccountList));
}

1 个答案:

答案 0 :(得分:2)

SessionStorage只会存储字符串。当您将某些内容放入SessionStorage时,您应该对其进行字符串化,并在获取它时,执行JSON.parse()。

function welcomeSuccess(result){
    WL.Logger.debug("List retrieve success");
    busyIndicator.hide();
    sessionStorage.setItem("linkAccountList", JSON.stringify(result.invocationResult.linkAccountList));
    WL.Logger.debug("linkAccountList :: ", JSON.parse(sessionStorage.linkAccountList));
}

在你的情况下发生了什么,当它将值放在SessionStorage中时,它调用了返回" [object Object],[object Object],[object Object]&的数组的toString()方法。 #34;那就是你回来的。