#json #react-native
#json #react-native
Вопрос:
Данные json представлены в приведенном ниже шаблоне. И данные Json поступают из серверной части, проходят через api и сохраняются в переменной состояния.
this.state = {
jsonData = [
{
"address": "xyz",
"email": "xyz@gmail.com",
"id": "12334",
"name": "abc"
}
]
}
как я могу получить доступ к значению адреса из переменной состояния.
Я пытался получить доступ к данным с помощью
this.state.jsonData.address
Как я могу получить доступ к одному значению в этом случае?
Комментарии:
1. лучше задавать простые вопросы… пожалуйста, изучите массив и объекты в javascript. попробуйте эту ссылку: w3schools.com/js/js_arrays.asp
Ответ №1:
Установите свое состояние, как показано ниже:
this.state = {
jsonData : [
{
"address": "xyz",
"email": "xyz@gmail.com",
"id": "12334",
"name": "abc"
}
]
}
для доступа к значению попробуйте следующее:
this.state.jsonData[0].address
Комментарии:
1. Привет, как я могу обновить состояние отдельного значения в том же массиве, о котором я упоминал выше? @Brijesh Shiroya
Ответ №2:
Сначала поймите, к чему вы пытаетесь получить доступ?
вы пытаетесь получить доступ к массиву prop внутри state, поэтому вы не можете напрямую получить доступ к подобному объекту.
итак, вам нужно указать индекс следующим образом —
// if you want to access array you need to access via index
this.state.jsonData[index].propname
Комментарии:
1. Привет, как я могу обновить состояние отдельного значения в том же массиве, о котором я упоминал выше? @сатиш кумар
2. попробуйте это для обновления -> this.state.jsonDate[index] = YourNewObjToUpdate
Ответ №3:
ваш объект представляет собой массив объектов json, поэтому для доступа к одному из них вы должны указать индекс.
this.state.jsonData[0].address
Ответ №4:
Вы можете удалить массив [ ]
из json, а также заменить =
на :
следующим образом:
constructor(props) {
super(props);
this.state = {
jsonData :
{
"address": "xyz",
"email": "xyz@gmail.com",
"id": "12334",
"name": "abc"
}
}
}
и тогда вы можете ссылаться на это как this.state.jsonData.address