Извлечь комбинацию ключ-значение из объекта json - PullRequest
0 голосов
/ 04 сентября 2018

У меня есть следующий объект, который возвращается из выборки API

{
 id: 1,
 name: "Leanne Graham",
 zipcode: "92998-3874",
 username: "Bret",
 email: "Sincere@april.biz",
 ..... (only the ones above matter to me) 
}

Я хочу извлечь только определенные части объектов (например, почтовый индекс). Я попробовал следующее: this.props.users.zipcode JSON.parse JSON.stringify, но все они возвращают undefined при входе в консоль. Вы не против помочь мне?

Ответы [ 2 ]

0 голосов
/ 04 сентября 2018

Учитывая только ваши данные, приведенное ниже возможное решение поможет вам получить значения ключей.

import React, {Component} from 'react';
export default class Test extends Component {
  render(){
    let data = [{"id":1,"name":"Leanne Graham","username":"Bret","email":"Sincere@april.biz","address":{"street":"Kulas Light","suite":"Apt. 556","city":"Gwenborough","zipcode":"92998-3874","geo":{"lat":"-37.3159","lng":"81.1496"}},"phone":"1-770-736-8031 x56442","website":"hildegard.org","company":{"name":"Romaguera-Crona","catchPhrase":"Multi-layered client-server neural-net","bs":"harness real-time e-markets"}}]
    data.map((d, i) => {
      console.log("values", d.name, d.email, d.address.zipcode )
    });

    return(
      <div>
      </div>
    )
  }

}

или

import React, {Component} from 'react';
export default class Test extends Component {
  render(){
    if(this.props.users && this.props.users.map((d, i) => {
      console.log("values", d.name, d.email, d.address.zipcode )
    });

    return(
      <div>
      </div>
    )
  }
}
0 голосов
/ 04 сентября 2018

Я прочитал из вашего комментария, что вы используете Redux.

Результатом API-выборки должно быть действие. В связанном редукторе вам нужно получить полезную нагрузку действия, инициированного успешным запросом.

Как уже указывали другие, было бы легче ответить, а не просто стрелять в темноте, если вы предоставите пример кода

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...