我正在开发在线信用充值应用程序。现在我想获取可供选择的特定类型凭证的面额。这是场景 用户从组合框中选择一种代金券类型(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
最佳答案
我认为 JSONArray
对象没有 contains(JSONObject obj)
函数,但您可以自己制作一个(请参阅此链接以获取 example ) 。这样,在创建每个 JSONObject
之后,在 for 循环内部检查您的 JSONArray
是否包含该对象。如果没有,则添加,否则不添加。这不是最优雅的解决方案,但它应该可行。
关于java - 从数据库表中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17688337/