繁体   English   中英

JSON - 如何解析它?

[英]JSON - how to parse it?

我刚刚遇到了有关此响应的问题。 据说如果我想从响应中选择项目,它必须是一个数组值。

"telegraphicTransferBankMap": {
        "BOA BEJ, JKT": "0330301",
        "BPD KALBAR SYARIAH, PTK": "1239922",
        "ANDARA, DPSR": "4660019",
        "GANESHA HAYAM WURUK, JKT": "1610017",
...
}

其实应该是这样的吧? (如果我弄错了,请告诉我)

"telegraphicTransferBankMap": [
            {"BOA BEJ, JKT": "0330301"},
            {"BPD KALBAR SYARIAH, PTK": "1239922"},
            {"ANDARA, DPSR": "4660019"},
            {"GANESHA HAYAM WURUK, JKT": "1610017"},
    ...
    ]

我的代码:

var ul = $('#telegraphicTransferBankMap');
    var html ='';
    for (var key in telegraphicTransferBankMap) {
        if (telegraphicTransferBankMap.hasOwnProperty(key)) {
            telegraphicTransferBankMapItem = telegraphicTransferBankMap[key];
            html += '<option value="'+telegraphicTransferBankMapItem.xxxxxx+'">'+telegraphicTransferBankMapItem.yyyyyyy+'</option>';
        }
    }
    ul.append(html);

然后我想把telegraphicTransferBankMapItem.xxxxxx 作为bankId 和telegraphicTransferBankMapItem.yyyyyyy 作为bankName。

截至您的代码在这里:

  if (telegraphicTransferBankMap.hasOwnProperty(key)) {
        telegraphicTransferBankMapItem = telegraphicTransferBankMap[key];

需要像您的第一个定义这样的对象 - 并且足够

要将其添加到选项列表中,只需执行

   html += '<option value="'+key+'">'+telegraphicTransferBankMapItem+'</option>';

使用您的第一个 json 并更改您的循环,例如,

var telegraphicTransferBankMap = {
    "BOA BEJ, JKT": "0330301",
    "BPD KALBAR SYARIAH, PTK": "1239922",
    "ANDARA, DPSR": "4660019",
    "GANESHA HAYAM WURUK, JKT": "1610017",
}

for (var key in telegraphicTransferBankMap) {
    if (telegraphicTransferBankMap.hasOwnProperty(key)) {
        bank = telegraphicTransferBankMap[key];
        html += '<option value="' + bank + '">' + key + '</option>';
    }
}

现场演示

此外,您应该将银行 ID 作为您的 json 中的关键,而不是银行名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM