在我的java应用程序中将Map转换为json时遇到一些困难。
当我转换时,我有这个结果"{\"forms\":{\"1\":{\"dateSeq\":null,\"nomBac\":\"Aeu-C-INT-2A2\"},\"0\":{\"dateSeq\":null,\"nomBac\":\"Aeu-C-MY-1A1\"}}}"
而不是
1 => {"dateSeq"=>null,nomBac"=>"Aeu-C-INT-2A2},
2 => {"dateSeq"=>test,nomBac"=>"Aeu-C-INT-2}
但我想用key =>得到一个结果值或键=> {list of values},因为我在另一个使用php的app中使用这个json,如果我想要一个数组,解码函数需要这种格式。
我的代码是:
@Path("/listbac/{idService}/{idPrestation}")
public ResponseList getlistBac(@PathParam("idService") int idS,@PathParam("idPrestation") int idP)
throws CnrgvSysException, HibernateException {
List<Seq454> listBacAseq = new ArrayList<Seq454>();
Seq454Svc sq = this.getS454Svc();
listBacAseq = sq.getListeBac454(idS, idP);
Seq454 un454;
JSONObject responseDetailsJson = new JSONObject();
Map<String,Object> jsonMap = new HashMap<String,Object>();
int i=0;
for(Seq454 seq : listBacAseq )
{
un454 = seq;
JSONObject formDetailsJson = new JSONObject();
formDetailsJson.put("nomBac", un454.getNomBAC());
formDetailsJson.put("dateSeq", un454.getDateSequencage());
//String etat = listEtatBac.get(i).toString();
//listCoordEtEtatBac.put(listC.get(i), etat);
jsonMap.put(""+i,formDetailsJson);
i++;
}
System.out.println(jsonMap);
responseDetailsJson.put("forms", jsonMap);
ResponseList listToReturn = new ResponseList(); //Cette classe permet de retourner un tableau de n'importe quel type d'objet
listToReturn.setStringJson(responseDetailsJson.toString());
return listToReturn;
}
我能做什么?
答案 0 :(得分:0)
您无法覆盖从服务器解析对象的json语法。
但您可以使用json字符串并按以下方式操作它:
String newStr = jsonStr.replace(":", "=>");
然后使用其他应用程序执行您想要的任何逻辑。