Доступ только к части значения Json

Я хочу взять часть элемента JSON. У меня есть формат JSON, например

{  
   "reservation":[  
      {  
         "resa":"1902211200-1802211330"
      },
      {  
         "resa":"1902221130-1902221230"
      }
   ]
}

и для каждого резервирования я хочу иметь доступ только к 4 последним значениям - так что здесь 1330 для первого реса и 1230 для второго

<View>
    <FlatList
      data= {this.state.JsonList}
      renderItem = {({item}) => <Text>{item.resa}.substring(17, 20)</Text>}
                  keyExtractor = {(item, index) => index.toString()} />
</View>

подстрока не работает и отображает подстроку слова, но я не могу найти, как это сделать. Можете ли вы сказать мне, как я могу отображать только часть значения JSON?

.substring(....) также должен появиться внутри }: переместите его туда:{item.resa.substring(17, 20)}. Обратите внимание, что .slice(-4) может быть более практичным.

trincot 22.02.2019 14:36
Как сделать HTTP-запрос в Javascript?
Как сделать HTTP-запрос в Javascript?
В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:
0
1
43
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы должны содержать полную функцию в {}, если хотите, чтобы она правильно вычисляла подстроку. Все, что находится за пределами {}, будет отображаться как строка.

<Text>{item.resa.substring(17, 21)}</Text>

Вы также захотите изменить его так, чтобы вы включали последний символ в строку. В противном случае, если вы используете substring(17, 20), вы получите только 133 вместо 1330, поэтому используйте substring(17, 21)

let item = { resa: "1902211200-1802211330" }

console.info(item.resa.substring(17,20)) // 133
console.info(item.resa.substring(17,21)) // 1330
console.info(item.resa.substring(item.resa.length-4)) // you could use the length to calculate the substring
console.info(item.resa.slice(-4)) // you could always use slice

если вам всегда нужны последние четыре, попробуйте это item.resa.slice(-4)

Navneet kumar 22.02.2019 14:52

Другие вопросы по теме