我已經從一個GET請求到一個API結束點以下響應:如何JSON對象轉換爲字符串的數組和數量在JavaScript
{
"success": true,
"data": {
"categories": [
{
"id": 1,
"label": "Default",
"url": "default",
"num_of_subs": 0
},
{
"id": 2,
"label": "Pet Grooming",
"url": "pet-grooming",
"num_of_subs": 2
},
],
}
}
這裏是取代碼:
const sendRegisterData = fetch('https://sg.cuzzey.com/api/listings/categories', {
method: 'GET',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
})
.then((response) => response.text())
.then((responseText) => {
var response_final = JSON.parse(responseText);
if (response_final.success) {
this.setState({
categories: response_final.data.categories,
})
}
})
我想要做的是從類別中獲取數據並將其作爲字符串和數字(id和num_of_subs作爲數字,標籤和url作爲字符串)打印出來。下面是我做的:
const category_options = this.state.categories.map(category => {
return [<Text key={category.id} style={styles.smallTextBox}> {category.id} {'\n'}</Text>,
<Text key={category.label} style={styles.smallTextBox}> {category.label} {'\n'}</Text>,
<Text key={category.num_of_subs} style={styles.smallTextBox}> {category.num_of_subs} {'\n'}</Text>]
})
<ModalDropdown options={category_options} onSelect={(idx, label) => this.getCategory(idx, label)}>
<Text style={styles.smallTextBox}> {this.state.selected_category} </Text>
</ModalDropdown>
我用這個代碼以獲取ID,標籤和num_of_subs的價值:
getCategory = (idx, value) => {
this.setState({ category_id: value[0], selected_category: value[1], numSubs: value[2] })
}
當我打印出來CATEGORY_ID,selected_category和numSubs,該值是正確的。但是,它們是對象類型而不是字符串/數字。我想操縱這些值,但我不知道如何將它們轉換爲字符串/數字。我已經嘗試過使用String(),Number(),parseInt(),JSON.parse(),toString(),但似乎沒有任何工作,因爲它們都會導致「對象」,當我打印出的typeof值。
我可以問有沒有辦法解決這個問題?
可以提供輸出的一個例子,你想 – Rick
我希望能夠做一些事情,如: '如果(這一點。 state.numSubs> 0){ render_something() 否則{ render_something_else() }' 目前numSubs是不是一個數字,所以我不能用它來與什麼比較。 –