Como aumentar um objeto JSON com o valor de uma variável em JavaScript?

votos
0

Como posso aumentar um objeto JSON com o valor de uma variável em JavaScript? Aqui está o meu código.

addIndexedResult = (inid) => { 
let url = 'https://jsonplaceholder.typicode.com/todos/'+inid
fetch(url)
  .then(response => response.json())
  .then(json => {
      console.log(json);
      // augment json with id & sort it out later in the browser
      let jsonAug = {inid: {...json}}; //output: {inid:{userId:1,id:7,title:illo expedita consequatur quia in,completed:false}}
      let my_results = this.state.myResults; 
      my_results.push(jsonAug);
      this.setState(prevState => ({
        myResults: my_results
      }));          
  })
}

Observe a saída da let jsonAug = ...declaração não avalia a variável, inid.

Como posso aumentar o json com o valor de inid?

Publicado 27/11/2018 em 18:04
fonte usuário
Em outras línguas...                            


2 respostas

votos
0

usar Objet.assign

let jsonAug = {id: Object.assign({},json) }; 

Respondeu 27/11/2018 em 18:26
fonte usuário

votos
0

Você deve atribuir o idvalor retornado da busca de jsondiretamente para o idvalor jsonAugda seguinte forma:

let jsonAug = {id: json.id};

Um exemplo completo pode ser parecido com este

addIndexedResult = (id) => { 
    let url = 'https://jsonplaceholder.typicode.com/todos/'+id
    fetch(url)
    .then(response => response.json())
    .then(json => {
        console.log(json);
        // augment json with id & sort it out later in the browser
        let jsonAug = {id: json.id}; //output: {"id":{"userId":1,"id":7,"title":"illo expedita consequatur quia in","completed":false}}
        let my_results = this.state.myResults; 
        my_results.push(jsonAug);
        this.setState(prevState => ({
          myResults: my_results
        }));          
    })
}
Respondeu 27/11/2018 em 18:16
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more