2017-06-01 77 views
0

這是我的代碼。React Native - 從JSON響應解析錯誤

我在調用下面的函數來獲取狀態列表。

callGetStatesApi() 
{ 
    callGetApi(GLOBAL.BASE_URL + GLOBAL.Get_States) 
    .then((response) => { 
      // Continue your code here... 
      stateArray = result.data 
      Alert.alert('Alert!', stateArray) 
    }); 
} 

這裏是常見的callGetApi函數,用於從GET Api獲取響應。

export function callGetApi(urlStr, params) { 
    return fetch(urlStr, { 
      method: "GET", 
      headers: { 
       'Accept': 'application/json', 
       'Content-Type': 'application/json', 
      }, 
      body: JSON.stringify(params) 
     }) 
     .then((response) => response.json()) 
     .then((responseData) => { 
      result = responseData 
     }) 
     .catch((error) => { 
      console.error(error); 
      Alert.alert('Alert Title failure' + JSON.stringify(error)) 
     }); 
} 

我收到以下錯誤。

enter image description here

回答

0

警報只顯示字符串,但你的情況 「stateArray」 是複雜的對象(數組,結構..)

所以使用stateArray.toString()或JSON.stringify(stateArray ),

或者

試試下面的方法,讓我知道,

fetch(GLOBAL.BASE_URL + GLOBAL.Get_States, { 
    method: 'get', 
    headers: { 'Accept': 'application/json','Content-Type': 'application/json',} 
}).then((response) => response.json()) 
.then((responseData) => { 
    console.log(responseData) // this is the response from the server 
    // Continue your code here... 
     stateArray = result.data 
     Alert.alert('Alert!', stateArray) 
}).catch((error) => { 
    console.log('Error'); 
}); 
+1

謝謝,我正在尋找以下。 「使用stateArray.toString()或JSON.stringify(stateArray)」。 –