Je l'ai fait l'objet Carte à la conversion d'objets de chaîne comme ceJsonParseException lors de l'analyse de la chaîne à Carte
public String getJsonString(Map<String, Map<String,List<CalculateContentCount>>> countMap) {
Gson gson = new Gson();
String jsonString = gson.toJson(countMap);
return jsonString;
}
En FTL je mets l'objet String retourné en demande et PASED dans le fichier JSP
<#assign countMap = json>
<form action="/alfresco/jsp/kpub/reports/exportContentCountList.jsp" method="get">
<input type="hidden" name="countMap" id="countMap" value="${countMap}">
<input type="submit" value="ExportFiletoCSV"/>
</form>
en exportContentCountList, j'ai essayé d'analyser l'objet chaîne de retour à la carte objet,
String jsonString = request.getParameter("countMap");
System.out.println("jsonString : "+jsonString);
Gson gson = new Gson();
Map<String,Map<String,List<CalculateContentCount>>> countMap = null;
Type type = null;
if(jsonString != null && !"".equals(jsonString)) {
type = new TypeToken<Map<String,Map<String,List<CalculateKpubContentCount>>>>(){}.getType();
countMap = gson.fromJson(jsonString,type);
}
Lors de l'exécution, une exception suivante se produit. Voici l'exception
com.google.gson.JsonParseException: Failed parsing JSON source:
caused by:
com.google.gson.ParseException: Encountered "<EOF>" at line 1, column 1.
Was expecting one of:
<IDENTIFIER_SANS_EXPONENT> ...
<IDENTIFIER_STARTS_WITH_EXPONENT> ...
<SINGLE_QUOTE_LITERAL> ...
<DOUBLE_QUOTE_LITERAL> ...
"}" ...
Quel est le problème?
Merci. En fait, j'utilise FTL qui ne supporte pas les bibliothèques de balises. Donc je ne peux pas utiliser ce qui précède. donc j'ai passé la valeur lik value = $ {countMap}, sans guillemets, maintenant il analyse partiellement et me montre une autre erreur, – i2ijeya
Sortie: jsonString: {"12/06/2010": {"kpubType": [{"count ": 0," contentName ":" Sanple "}]}," 12/07/2010 ": {" topic ": [{" count ": 0," contentName ":" Exemple – i2ijeya
Après que cette erreur se produit, "com" .google.gson.ParseException: "\" "rencontré à la ligne 1, colonne 113." – i2ijeya