0
votes

Comment obtenir la valeur de JSON Object

Dans mon application Web, WEB API renvoie à la suite de l'objet JOSN.

var data2 = [ 
   { 
      "templateID":1,
      "template":"{\r\n  \"Body\": \"sample date hete hee. Name\"\r\n}"
   },
   { 
      "templateID":2,
      "template":"{ \"Body\": \"you soon.\" }"
   }
]

function usersBasedOnIDs(isShow,field){

    var filtered=data2.filter(function(item){
        return item[field] == isShow;         
    });
    console.log(filtered);
}

usersBasedOnIDs(1,'templateID');


6 commentaires

Item [champ] == ISSHOW; Aucun modèle avec valeur 1 . donc il imprime juste la matrice vide


"Le problème est que vous pouvez voir que JSON a \ r \ n dans certains endroits." - Qu'est-ce que cela a à voir avec quelque chose ?


Votre JSON a JSON codé dans ses cordes. Le tout ne devrait-il pas être juste être Json à la place?


Vous regardez simplement dans le mauvais champ. Vous souhaitez vérifier ce qui est contenu dans templateid , mais vous avez passé 'modèle' à votre fonction pour accéder dynamiquement à la propriété ...


@Codemaniac je l'ai mis à jour. Maintenant, il renvoie "{" corporel ":" Sample date hete hee. "}" Comment puis-je obtenir corps valeur


@Adam, vous devez obtenir le premier élément de tableau et analyser la chaîne JSON, puis accéder à la propriété corporelle


3 Réponses :


3
votes
var data2 = [{
    "templateID": 1,
    "template": "{\r\n  \"Body\": \"sample date hete hee. Name\"\r\n}"
  },
  {
    "templateID": 2,
    "template": "{ \"Body\": \"you soon.\" }"
  }
]

function usersBasedOnIDs(isShow, field) {

  var filtered = data2.filter(function(item) {
    return item[field] == isShow;
  });
  console.log(filtered && JSON.parse(filtered[0].template).Body);
}

usersBasedOnIDs(1, 'templateID');

0 commentaires

1
votes

Essayez simplement cette

var x = [ 
   { 
      "templateID":1,
      "template":"{\r\n  \"Body\": \"sample date hete hee. Name\"\r\n}"
   },
   { 
      "templateID":2,
      "template":"{ \"Body\": \"you soon.\" }"
   }
]
for(let i=0;i<x.length;i++){
  let y = x[i].template;
  console.log(JSON.parse(y).Body);
}


0 commentaires

1
votes
function usersBasedOnIDs(templateId) {
    let result = data2.find(function(item) {
        return item.templateId === templateId;
    });
    if(result === undefined) {
        return;
    } else {
        return JSON.parse(result.template).Body;
    }
}

console.log(usersBasedOnIDs(1));

0 commentaires