method JSON.stringify ()

1

I have a question about the JSON.stringify() method.

Querying these values in a member tab:

{
    "NProjetos": [
        {
            "idProjeto": 2,
            "nomeProjetos": "SGI"
        }
    ],
    "cargo": "Desenvolvedor",
    "descricao": "Desenvolvedor PHP, JAVA",
    "id": 2,
    "imgMembros": [
        {
            "idImg": 2,
            "url": "img/diego.png"
        }
    ],
    "nome": "Diego Rabelo",
    "stats": 3
};

With

JSON.stringify(membro.NProjetos, ['nomeProjetos']); //retorno:  [{"nomeProjetos":"SGI"}]

JSON.stringify(membro.nomeProjetos); //não tem retorno. 

How could I just get the value, in the "SGI" case?

    
asked by anonymous 14.11.2016 / 13:21

3 answers

0

Being membro your Json described in the question, you must first get the values. The problem is not specifically in the JSON.stringify()

var projetos = []

for(var i = 0 ; i < membro.NProjetos.length ; i++){
    projetos.push(membro.NProjetos[i].nomeProjetos)
}

Or, if you're using JQuery

var projetos = []

$.each(membro.NProjetos, function(){
    projetos.push($(this).nomeProjetos);
});

If you prefer, you can use map also from JQuery

var projetos = []

$.map(membro.NProjetos, function(projeto, i){
   projetos.push(projeto.nomeProjetos);
});

With this, you will have a projetos array, where you will have the name of all your Json projects.

    
14.11.2016 / 14:05
0

You can map project names to a new usango array Array # map :

var projetosMembros = membros.NProjetos.map(proj => {
  return proj.nomeProjetos;
});

var membros = {"NProjetos": [{"idProjeto": 2,"nomeProjetos": "SGI"}],"cargo": "Desenvolvedor","descricao": "Desenvolvedor PHP, JAVA","id": 2,"imgMembros": [{"idImg": 2,"url": "img/diego.png"}],"nome": "Diego Rabelo","stats": 3};

var projetosMembros = membros.NProjetos.map(proj => {
  return proj.nomeProjetos;
});

console.log(projetosMembros);

With classic repeat loop (ECMA5):

for (var i = 0 ; i < membros.NProjetos.length ; i++){
    projetosMembros.push(membros.NProjetos[i].nomeProjetos);
}

var membros = {"NProjetos": [{"idProjeto": 2,"nomeProjetos": "SGI"}],"cargo": "Desenvolvedor","descricao": "Desenvolvedor PHP, JAVA","id": 2,"imgMembros": [{"idImg": 2,"url": "img/diego.png"}],"nome": "Diego Rabelo","stats": 3};

var projetosMembros = [];
for (var i = 0 ; i < membros.NProjetos.length ; i++){
    projetosMembros.push(membros.NProjetos[i].nomeProjetos);
}

console.log(projetosMembros);
    
14.11.2016 / 14:33
0

If you want to get a JSON or array with all values of "nomeProjetos " within "NProjetos" just map this array as follows:

var nProjetos = membro.NProjetos.map(el => el.nomeProjetos);

or less modern JavaScript:

var nProjetos = membro.NProjetos.map(function(el){
    return el.nomeProjetos
});

and then to create a JSON:

var json = JSON.stringify(nProjetos);

Example: link

    
14.11.2016 / 17:36