[英]I could display API data in my console.log, but I can't setState with it . . . how can I setState? (fetch, React Native)
[英]how to fetch my syllables so I can console log them
JSON看起來像這樣:
{
"main_object": {
"id": "new",
"getExerciseTitle": "TestAfterCodeCleaning",
"language": "nl_NL",
"application": "lettergrepen",
"main_object": {
"title": "TestAfterCodeCleaning",
"language": "nl_NL",
"exercises": [
{
"word": "testikels",
"syllables": [
"test",
"ikels",
"",
""
]
}
]
},
"dataType": "json"
}
}
這就是我嘗試獲取syllables
因此我可以console.log()
它們:
var jsyl = json.main_object.main_object.exercises.syllables;
但是問題是:這在我的console.log()
顯示為未定義。 為什么以及如何?
完整的代碼如下所示:
function prepareCheck() {
$.getJSON('json_files/jsonData_' + ID + '.json', function(json) {
$(document).on('keyup', '.syl-input', function() {
var syllableval = $(idsyll).val();
var jsyl = json.main_object.main_object.exercises.syllables;
});
});
}
注意:JSON有一個syllables
,因為我認為這對於您來說更容易閱讀,但是應該采取什么措施來獲取所有syllables
(如果有多個syllables
數組)。
使用exercises[0]
代替exercises
因為在這種情況下, exercises
是一個對象數組,在索引0
處只有一個項目。
var jsyl = json.main_object.main_object.exercises[0].syllables;
var json = { "main_object": { "id": "new", "getExerciseTitle": "TestAfterCodeCleaning", "language": "nl_NL", "application": "lettergrepen", "main_object": { "title": "TestAfterCodeCleaning", "language": "nl_NL", "exercises": [ { "word": "testikels", "syllables": [ "test", "ikels", "", "" ] } ] }, "dataType": "json" } } var jsyl = json.main_object.main_object.exercises[0].syllables; console.log(jsyl); // [ 'test', 'ikels', '', '' ]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.