1

我正在开发一个在线信用充值应用程序。现在我想获取可供选择的特定类型的凭证可用的面额。这是用户从组合框中选择一种凭证(tigo、mtn、vodafon、airtel 等)的场景。选择凭证后面额组合框应填充所有可用的面额。现在我用 json .av 尝试使用此代码,但它返回:

 @RequestMapping(value = "/rest/getdenominations")
        public @ResponseBody
        String getDenominationByType(ModelMap model) throws JSONException {
            Long vouchertypeId = 1L;
            JSONArray typeDenominationsArray = new JSONArray();
            for (Voucher voucher : voucherController.getTypDenominationAvailable(vouchertypeId)) {
                JSONObject voucherJSON = new JSONObject();
                voucherJSON.put(" ", voucher.getDenomination());
                typeDenominationsArray.put(voucherJSON);
            }

            return typeDenominationsArray.toString();
        }

但它返回这个

[{" ":10},{" ":2},{" ":1},{" ":10},{" ":2}]

我想要的是 2 和 10 应该只显示一次。需要提前帮助这个..tanx

4

1 回答 1

0

我不认为该JSONArray对象具有功能,但您可以自己制作一个(有关示例contains(JSONObject obj),请参见此链接)。有了这个,在你创建每个检查你是否包含对象之后的 for 循环内部。如果没有,添加它,否则不要添加它。这不是最优雅的解决方案,但它应该可以工作。JSONObjectJSONArray

于 2013-07-16T23:35:02.633 回答