从数据库表中获取数据

时间:2013-07-16 22:55:57

标签: java json

我正在使用在线信用充值应用程序。现在我想获取可供选择的特定类型凭证的面额。这是方案 用户从组合框中选择一种类型的凭证(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应该只显示一次。 需要帮助...提前预测

1 个答案:

答案 0 :(得分:0)

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