Javascript 显示嵌套Json数组获取的数据

Javascript 显示嵌套Json数组获取的数据,javascript,reactjs,react-native,ecmascript-6,Javascript,Reactjs,React Native,Ecmascript 6,所以我对react native还不太熟悉,我试图显示Json获取数据的嵌套元素,但我不知道该怎么做。 在fetch api中使用react挂钩后: export default function MedProfilScreen({ route }) { //const {id,name,specialite,work}=route.params; const [data, setData] = useState([]); useEffect(() => { fetch

所以我对react native还不太熟悉,我试图显示Json获取数据的嵌套元素,但我不知道该怎么做。 在fetch api中使用react挂钩后:

export default function MedProfilScreen({ route }) {
  //const {id,name,specialite,work}=route.params;
  const [data, setData] = useState([]);
  useEffect(() => {
    fetch("http:......")
      .then(response => response.json())
      .then(res => {
        setData(
          res);
        console.log(res);
      })
      .done();
  },[]);
}
我得到的答复是:

Array [
  Object {
    "code": "12459552",
    "id": 7,
    "name": "Dr xavier vilan",
    "speciality": "Cardio",
  },
  Object {
    "education": Array [
      Object {
        "date_debut": "2020-02-07",
        "date_end": "2020-02-06",
        "diploma": "asmaa",
        "school": "asmaa",
        "city": "vullez",
      },
      ]}
]
所以我想显示例如:name:xavier博士。。文凭:asmaa

return(
<View>  name: Dr xavier.. diploma: asmaa            </View>
)
返回(
姓名:xavier博士毕业证书:asmaa
)
任何人都知道怎么做。谢谢你试试这个:

return (
   <View>{JSON.stringify(data, null, 2)}</View>
)
返回(
{JSON.stringify(数据,null,2)}
)

我不知道这是您要找的,但我会尝试一下:

代码:

const renderText = () => {
    // as soon as we received the data, we will display it
    if (data.length > 0){
      return (
         <Text> name: {data[0].name} diploma: {data[1].education[0].diploma}</Text>
      )
    }
}
return (
  <View>
     {renderText()}
  </View>
);
const renderText=()=>{
//一旦我们收到数据,我们将显示它
如果(data.length>0){
返回(
名称:{data[0]。名称}文凭:{data[1]。教育[0]。文凭}
)
}
}
返回(
{renderText()}
);
输出:

const renderText = () => {
    // as soon as we received the data, we will display it
    if (data.length > 0){
      return (
         <Text> name: {data[0].name} diploma: {data[1].education[0].diploma}</Text>
      )
    }
}
return (
  <View>
     {renderText()}
  </View>
);

演示:

const renderText = () => {
    // as soon as we received the data, we will display it
    if (data.length > 0){
      return (
         <Text> name: {data[0].name} diploma: {data[1].education[0].diploma}</Text>
      )
    }
}
return (
  <View>
     {renderText()}
  </View>
);

既然您已经将响应保存在
数据中,您的数据应该是这样的

data = [
  {
    code: "12459552",
    id: 7,
    name: "Dr xavier vilan",
    speciality: "Cardio"
  },
  {
    education: [
      {
        date_debut: "2020-02-07",
        date_end: "2020-02-06",
        diploma: "asmaa",
        school: "asmaa",
        city: "vullez"
      }
    ]
  }
]
现在您可以访问
姓名
文凭
,如下所示:

name: data[0].name
diploma: data[1].education[0].diploma

希望这对你有帮助。如果有疑问,请放心

试着引用您想要的项目

return(
     <View>  
          <Text> name: {data[0].name} diploma: {data[1].education[0].diploma}         
           </Text>
     </View>
)
返回(
名称:{data[0]。名称}文凭:{data[1]。教育[0]。文凭}
)

它刚刚在我的应用程序屏幕上显示了res的控制台日志是的,这是我需要的,但我刚刚收到输入错误:数据[0]。名称不是object@AymenAymen我已经更新了我的答案和网站的链接谢谢你的回复,蒂姆的答案已经修正了!谢谢你的回复,蒂姆的回答上面修正了它!