2013-09-25 6 views
0

Comment puis-je accéder à la clé HashMap au JQuery? Je veux avoir la clé elle-même à utiliser dans typeahead de bootstrap.Clé Java HashMap vers jQuery

J'utilise Gson pour analyser le HashMap à Gson:

HashMap<String, String> source = new HashMap<String, String>(); 
put("key","value"); 

response.setContentType("application/json"); 
response.setCharacterEncoding("UTF-8"); 
response.getWriter().write(new Gson().toJson(source)); 

Code de mon typeahead:

$('#textbox').typeahead({ 
    source: function(query, process){ 
     return $.get('URL', {query: query}, 
         function(data){ 
       return process(data.key); 
       },'json'); 
     }, 
    items: 10 
}); 

à return process(data); je veux avoir la clé de l'auto HashMap il

+0

Vous voulez probablement 'process (data)' puisque la carte ** est ** l'élément JSON racine. Notez, cependant, que [vous ne pouvez rien retourner d'un appel ajax car il est asynchrone.] (Http://stackoverflow.com/q/14220321/139010) –

+0

Donc je ne peux retourner que 1 tableau de valeur? J'ai essayé data.key parce que je le veux pour retourner la clé pas la valeur. N'est-ce pas possible? – newbie

+0

Non - vous ne pouvez pas ** renvoyer ** quoi que ce soit d'un appel ajax. Je ne comprends pas ce que vous entendez par "la clé". Essayez de regarder la sortie de ['Object.keys (data)'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys). –

Répondre

0

Pourquoi c'est très possible.

just use JSON.stringfy(data.key);