我的下面的java代码返回以下输出。
T
输出:
public String getAttributeMaster_2() throws JsonProcessingException {
Cluster cluster = couchBaseConnectionManager.openBucketOfActivCluster(CouchbaseBucket.RangePlan);
Map<String,Object> attributeMap = new HashMap<String,Object>();
attributeMap.put("Product_Brand", attributeMasterRepository.getProductBrand(cluster, CouchbaseBucket.RangePlan));
attributeMap.put("Product_Type", attributeMasterRepository.getProductType(cluster, CouchbaseBucket.RangePlan));
attributeMap.put("Product_Event", attributeMasterRepository.getProductEvent(cluster, CouchbaseBucket.RangePlan));
String attribute = attributeMap.toString();
return attribute;
}
预期产出:
{"Product_Type"=[{"active":true,"description":"ACCESSORIES","id":1}, {"active":true,"description":"ALL IN ONES","id":2}], "Product_Brand"=[{"active":false,"description":"101 DALMATIANS","id":1}], "Product_Event"=[{"description":"BABY EVENT","id":2}, {"description":"ACTIVE EVENT","id":1}]}
问题: 我希望用以下代码替换=(等于)符号:(冒号)。
Ex:Product_Type为“Product_Type”。 Product_Brand和Product_Event也是如此。
如果有人可以帮助我实现这一目标,请告诉我。
我是java编码的新手。感谢您的回复。
谢谢,
答案 0 :(得分:2)
除了生成attributeMap.toString()返回的字符串表示外,我还没有看到attributeMap中的键添加任何值。
在这种情况下,您可以简单地转义并为键添加双引号,如下所示:
Map<String,Object> attributeMap = new HashMap<String,Object>();
attributeMap.put("\"Product_Brand\"", ...);
attributeMap.put("\"Product_Type\"", ...);
attributeMap.put("\"Product_Event\"", ...);
String attribute = attributeMap.toString();
答案 1 :(得分:0)
添加引号可以起作用:
public String getAttributeMaster_2() throws JsonProcessingException {
Cluster cluster = couchBaseConnectionManager.openBucketOfActivCluster(CouchbaseBucket.RangePlan);
Map<String,Object> attributeMap = new HashMap<String,Object>();
attributeMap.put("\Product_Brand\"", attributeMasterRepository.getProductBrand(cluster, CouchbaseBucket.RangePlan));
attributeMap.put("\"Product_Type\"", attributeMasterRepository.getProductType(cluster, CouchbaseBucket.RangePlan));
attributeMap.put("\"Product_Event\"", attributeMasterRepository.getProductEvent(cluster, CouchbaseBucket.RangePlan));
String attribute = attributeMap.toString();
return attribute;
}
答案 2 :(得分:0)
您可以使用json lib,例如net.sf.json.JSONObject
import net.sf.json.JSONObject;
public String getAttributeMaster_2(){
Cluster cluster = couchBaseConnectionManager.openBucketOfActivCluster(CouchbaseBucket.RangePlan);
JSONObject jsonObject = new JSONObject();
jsonObject.put("Product_Brand", "");
jsonObject.put("Product_Brand", attributeMasterRepository.getProductBrand(cluster, CouchbaseBucket.RangePlan));
jsonObject.put("Product_Type", attributeMasterRepository.getProductType(cluster, CouchbaseBucket.RangePlan));
jsonObject.put("Product_Event", attributeMasterRepository.getProductEvent(cluster, CouchbaseBucket.RangePlan));
String attribute = jsonObject.toString();
}