我正在使用在线信用充值应用程序。现在我想获取可供选择的特定类型凭证的面额。这是方案 用户从组合框中选择一种类型的凭证(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应该只显示一次。 需要帮助...提前预测
答案 0 :(得分:0)
我不认为JSONArray
对象具有contains(JSONObject obj)
功能,但您可以自己创建一个(请参阅此链接以获取example)。这样,在创建每个JSONObject
之后,在for循环内部检查JSONArray
是否包含对象。如果没有,请添加它,否则不要添加它。这不是最优雅的解决方案,但应该可行。