IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AngularJS Discussion :

SyntaxError: Unexpected token t in JSON at position 143983 AngularJS


Sujet :

AngularJS

  1. #1
    Membre éclairé
    Femme Profil pro
    Architecte de système d'information
    Inscrit en
    Février 2012
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2012
    Messages : 404
    Par défaut SyntaxError: Unexpected token t in JSON at position 143983 AngularJS
    Bonjour,

    je suis en train de développer une application web (JEE) "Gestion des banques" basé sur angularJs. c'est à dire mes fonctionnalités angulrJs assurent la manipulation de données a travers le web services RESTFull.

    *code de l'entité "Compte":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    public class Compte implements Serializable{
     
    	@Id
    	//@GeneratedValue(strategy=GenerationType.IDENTITY)
    	private String numCompte;
     
    	@Temporal(TemporalType.DATE)
    	private Date dateCreation;
     
    	private Double solde;
     
    	@ManyToOne
    	@JoinColumn(name="CODE_CLI")
    	private Clients client;
     
    	@ManyToOne
    	@JoinColumn(name="NUM_EMP")
    	private Employe employe;
     
        @OneToMany(mappedBy="compte", cascade=CascadeType.ALL, fetch=FetchType.LAZY)
        private Collection <Operation> operations;
     
    	public Compte(String numCompte, Double solde, Clients cl, Employe emp) {
    		super();
    		this.numCompte= numCompte;
    		//this.operations= ops;
    		this.dateCreation = new Date();
    		this.solde = solde;
    		this.client = cl;
    		this.employe = emp;
    	}
     
    	public Compte(){
    		super();
    		this.dateCreation = new Date();
    	}
     
    	public String getNumCompte() {
    		return numCompte;
    	}
     
    	public void setNumCompte(String numCompte) {
    		this.numCompte = numCompte;
    	}
     
    	public Date getDateCreation() {
    		return dateCreation;
    	}
     
    	public void setDateCreation(Date dateCreation) {
    		this.dateCreation = dateCreation;
    	}
     
    	public Double getSolde() {
    		return solde;
    	}
     
    	public void setSolde(Double solde) {
    		this.solde = solde;
    	}
     
    	public Clients getClient() {
    		return client;
    	}
     
    	public void setClient(Clients client) {
    		this.client = client;
    	}
    	@JsonIgnore
    	public Employe getEmploye() {
    		return employe;
    	}
     
    	public void setEmploye(Employe employe) {
    		this.employe = employe;
    	}
     
    	@JsonIgnore
    	public Collection<Operation> getOperations() {
    		return operations;
    	}
     
       @JsonSetter
    	public void setOperations(Collection<Operation> operations) {
    		this.operations = operations;
    	}
     
     
     
    }
    lorsque je consulte un compte bancaire (en spécifiant le "code" ), il m'affiche le message d'erreur suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    SyntaxError: Unexpected token t in JSON at position 143983
        at JSON.parse (<anonymous>)
        at oc (angular.js:1066)
        at Yb (angular.js:8570)
        at angular.js:8655
        at s (angular.js:323)
        at Yc (angular.js:8654)
        at c (angular.js:9380)
        at angular.js:13175
        at l.$eval (angular.js:14388)
        at l.$digest (angular.js:14204)
    Ce probléme indique qu'il y a un boucle récursive infini lorsque je consulte un compte:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    2016-12-28 11:20:35.532 DEBUG 5308 --- [nio-8080-exec-4] o.s.w.s.m.m.a.HttpEntityMethodProcessor  : Written [{timestamp=Wed Dec 28 11:20:35 CET 2016, status=200, error=OK, exception=org.springframework.http.converter.HttpMessageNotWritableException, message=Could not write content: Infinite recursion (StackOverflowError) (through reference chain: com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.enti>com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]); nested exception is com.fasterxml.jackson.databind.JsonMappingException: Infinite recursion (StackOverflowError) (through reference chain: com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->>com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.>com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]->com.sesame.entities.CompteCourant["operations"]->org.hibernate.collection.internal.PersistentBag[0]->com.sesame.entities.Versement["compte"]), path=/banques/Comptes/CC1}] as "application/json" using [org.springframework.http.converter.json.MappingJackson2HttpMessageConverter@5d37aa0f]
    2016-12-28 11:20:55.947 DEBUG 5308 --- [nio-8080-exec-4] o.s.web.servlet.DispatcherServlet        : Null ModelAndView returned to DispatcherServlet with name 'dispatcherServlet': assuming HandlerAdapter completed request handling
    2016-12-28 11:20:55.947 DEBUG 5308 --- [nio-8080-exec-4] o.s.web.servlet.DispatcherServlet        : Successfully completed request
    Ce probléme proviens lorsque le compte contient un ensemble des opérations.
    J'ai fais un test sur le compte donc j'ai supprimé tous les opérations du compte, alors les informations sont bien affichés, mais s'il a une ou plusieurs opérations le probléme ci-dessus sera affiché et il bloc le fonctionnement normale de l'application.


    Merci de m'aider pour trouver la bonne solution,

  2. #2
    Membre éclairé
    Femme Profil pro
    Architecte de système d'information
    Inscrit en
    Février 2012
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2012
    Messages : 404
    Par défaut
    En fin, j'ai résolu le probléme

    J'ai utilisé la mauvaise package de Json. il faut donc remplacer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    import com.couchbase.client.deps.com.fasterxml.jackson.annotation.JsonIgnore
    par
    import com.fasterxml.jackson.annotation.JsonIgnore
    Car "@JsonIgnore" c'est l'annotation de "jackson"

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 36
    Dernier message: 08/12/2016, 11h04
  2. Réponses: 13
    Dernier message: 17/09/2014, 14h32
  3. [AJAX] JSON.parse : unexpected token
    Par Gurdile dans le forum AJAX
    Réponses: 5
    Dernier message: 07/08/2013, 16h43
  4. org.hibernate.hql.ast.QuerySyntaxError: unexpected token
    Par oughlad dans le forum Hibernate
    Réponses: 9
    Dernier message: 26/05/2006, 14h20
  5. [EJBQL] unexpected token DISTINCT
    Par vseb99 dans le forum Java EE
    Réponses: 1
    Dernier message: 17/05/2006, 11h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo