2017-08-25 1 views
-1

J'écris une application web en utilisant java, et le framework spring mvc. (Je voudrais spécifier un certain nombre de points et ensuite google maps le tracer sur une carte).Comment représenter la liste d'objets en tant que tableau d'objets json

Dans mon contrôleur java, je crée une liste d'objets, puis je la renvoie à mon code client via ModelAndView.

À mon avis, je puis accéder à cette liste comme suit:

<h1>List of Geo-Location points: </h1> 

    <c:forEach items="${mapcontent}" var="point"> 
    ${point.latitude} ${point.longitude} ${point.message} 
    <br /> 
    </c:forEach> 

Je suis tout à fait satisfait du résultat, car il imprime tous mes résultats pertinents. comme ceci:

33.9249 18.4241 This is a message 
    34.9249 18.4241 This is another a message 
    35.9249 18.4241 This is a quick message 

Déplacement à ma difficulté actuelle, je dois donner ces données entrantes, dans le format suivant:

var markers = [ 
    { 
     coordinates:{lat:-33.9811688, lng:18.644}, 
     message: 'Task completed at Stellenbosch Station' 
    }, 
    { 
     coordinates:{lat:-33.9811688, lng:19.644}, 
     message: 'Please report for duty' 
    } 
    ] 

Ma question est donc de savoir comment passer de la liste des objets Envoyer du serveur, à un tableau d'objets json, en script java.

// taglib solution that I am currently trying: 
    Using taglib: 
    <%@ taglib prefix="json" uri="http://www.atg.com/taglibs/json" %> 
    <h1>List of Geo-Location points: </h1> 

    <c:forEach items="${mapcontent}" var="point"> 
    <!-- ${point.name} ${point.telephoneNumber} ${point.genericDateTime} --> 

    <json:object> 
     <json:array name="coordinates" var="coordinate" items="${point.coordinates}"> 
     <json:object> 
      <json:property name="latitude" value="${item.latitude}"/> 
      <json:property name="longitude" value="${item.longitude}"/> 
     </json:object> 
     </json:array> 
    </json:object> 
    <json:property name="message" value="${point.genericDateTime}"/> 


    </c:forEach> 

Danke!

+0

Vous avez besoin d'un analyseur de JSON, comme Jackson. Au fait, vous devriez nous montrer à quoi ressemble votre _list of objects_. –

+0

J'ai mis à jour le poste avec la liste des objets – Harriet

Répondre

0

Face à cela avant. J'ai trouvé json-taglib à cet effet.

http://json-taglib.sourceforge.net/

dépôt Maven: https://mvnrepository.com/artifact/atg.taglib.json/json-taglib/0.4.1

+0

Hi @Alex - J'ai regardé l'exemple de json-taglib fourni sur la page liée. J'ai trouvé un code (voir la question de l'article original), mais je ne sais pas comment procéder à partir de là. Quel est l'objet contenant la structure json, puis-je simplement initialiser mon marqueur? – Harriet

+0

Si je ne me trompe pas, le résultat de sera une simple chaîne au format json –

+0

Est-ce que je le fais bien en plaçant le bloc de code dans la boucle forEach existante? Est-ce nécessaire? – Harriet