Ich habe die folgende Antwort von einer GET-Anforderung an einen API-Endpunkt konvertieren:Wie JSON-Objekt Array von String und Zahl in 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
},
],
}
}
Hier ist der Abrufcode:
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,
})
}
})
Was ich tun möchte, ist, die Daten aus den Kategorien zu erhalten und sie als String und Nummer (ID und num_of_subs als Nummer, Label und URL als String) auszudrucken. Hier ist, was ich getan habe:
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>
ich diesen Code verwendet, um den Wert von id, Label und num_of_subs zu erhalten:
getCategory = (idx, value) => {
this.setState({ category_id: value[0], selected_category: value[1], numSubs: value[2] })
}
Wenn ich drucken category_id, selected_category und numSubs die Werte korrekt sind. Sie sind jedoch Objekttypen und nicht String/Zahl. Ich möchte die Werte manipulieren, aber ich weiß nicht, wie man sie in String/Zahl umwandelt. Ich habe versucht, String(), Number(), parseInt(), JSON.parse(), toString() zu verwenden, aber keiner scheint zu arbeiten, da sie alle "Objekt" ergeben, wenn ich den Typ der Werte ausdrucke.
Kann ich fragen, gibt es eine Möglichkeit, dies zu lösen?
können Sie ein Beispiel für die Ausgabe zur Verfügung stellen möchten Sie – Rick
Ich mag wäre in der Lage sein, etwas zu tun wie: 'if (dies. state.numSubs> 0) { render_something() else { render_something_else() } ' Derzeit ist der numSubs keine Nummer, damit ich es nicht mit irgendetwas vergleichen können. –