JSON响应在反应原生提取中表现得异常

问题描述:

我正在使用提取将数据发送到API,当数据到达API时进行验证,然后用带有参数的响应返回,该参数告诉哪些数据是有效的,哪些不是。JSON响应在反应原生提取中表现得异常

该params似乎被送回,但我无法访问它们。

这是获取:

fetch('http://localhost:3000/api/drivers', { 
    method: 'POST', 
    headers: { 
    'Accept': 'application/json', 
    'Content-Type': 'application/json', 
    'Host': 'localhost:3000' 
    }, 

    body: JSON.stringify({ 
    judet: judetText, 
    numar: numarText, 
    litere: litereText, 
    taxi: isTaxi, 
    token: device_id, 
    key: api_key 
    }) 
}) 
.then(ApiUtils.checkStatus)   
.then((response) => response.json().then((json) => { 
    console.log(json) 
})) 

而这正是记录结果:

Promise {_45: 0, _81: 0, _65: null, _54: null} 

正如你所看到的, “_65” 为空

但是,如果我展开它,这就是它给我的印象:

Promise 
_45: 0 
_54: null 
_65: Object 
    already_added: false 
    judet_invalid: true 
    litere_invalide: false 
    numar_invalid: true 
    __proto__:Object 
_81: 1 
__proto__: Object 

这些是我尝试访问的参数

如果我运行console.log(json [“_65”]),它会给我null,就像它没有展开。

为什么响应的行为如此? 我该如何访问这些参数?

我认为这些都是你所看到的承诺,望着反应本地网络例如https://facebook.github.io/react-native/docs/network.html

电话是这样

.then((response) => response.json()) 
.then((json) => { 
    console.log(json) 
})) 
+0

这种方式,同样的事情试了一下发生 – Octav

+0

尝试调用然后()从json对象,因为它看起来像是一个承诺。但我不知道你为什么会在那里接受承诺 – diedu