ionic4 cordova 插件 http.get 接收 json,预计交付 json,但交付字符串
ionic4 cordova plugin http.get receives json, is expected to deliver json, but delivers string
服务是
import { Injectable } from '@angular/core';
import { HTTP, HTTPResponse } from '@ionic-native/http/ngx';
import { Promise } from 'q';
@Injectable({
providedIn: 'root'
})
export class YfapiService {
private baseUrl: string;
constructor(private http: HTTP) {
this.baseUrl = "valid url delivering some json";
}
public getDriverDetails(driverKey: string): Promise<HTTPResponse> {
return Promise((resolve, reject) => {
this.http.get(this.baseUrl, {}, {})
.then(response => resolve(response.data))
.catch(error => reject(error));
});
}
};
url 是有效的并且提供 json 内容类型也是 application/json。但是,在 "response" 中有 "data",并且 response.data 始终是一个包含从远程服务接收到的 json 的字符串。如何把它变成json?
JSON.parse 似乎无法使用。所以第二个问题是:我做的事情完全错了还是我错过了什么?
Ionic V4.10.3
科尔多瓦 8.1.2
最近几天安装的插件
平台:windows10,java8
在 Cordova 中设置的平台:浏览器、android
总结:
A.) 如何在 json 中通过响应来履行承诺
B.) 如果这不可能,当 JSON.parse() 不可用时如何将字符串转换为 JSON,或者如何使 JSON.parse() 在我的项目中可用?
折腾了 2 天后,我很失望,因此关闭了所有 windows、命令行等。最后我在任务管理器中关闭了 node.js 服务。一支烟之后我开始了新的尝试。说什么,JSON 现在可用,Promise 按预期工作 - 但两者仍由 Visual Studio 代码标记为 "unknown"。当我考虑这个问题时,Visual Studio Code 开始向我提供更新。我去了。
怎么说:更新有帮助,有时为您和您的机器休息一下也有助于解决问题。也许这会在未来帮助一个可怜的灵魂。
服务是
import { Injectable } from '@angular/core';
import { HTTP, HTTPResponse } from '@ionic-native/http/ngx';
import { Promise } from 'q';
@Injectable({
providedIn: 'root'
})
export class YfapiService {
private baseUrl: string;
constructor(private http: HTTP) {
this.baseUrl = "valid url delivering some json";
}
public getDriverDetails(driverKey: string): Promise<HTTPResponse> {
return Promise((resolve, reject) => {
this.http.get(this.baseUrl, {}, {})
.then(response => resolve(response.data))
.catch(error => reject(error));
});
}
};
url 是有效的并且提供 json 内容类型也是 application/json。但是,在 "response" 中有 "data",并且 response.data 始终是一个包含从远程服务接收到的 json 的字符串。如何把它变成json?
JSON.parse 似乎无法使用。所以第二个问题是:我做的事情完全错了还是我错过了什么?
Ionic V4.10.3 科尔多瓦 8.1.2 最近几天安装的插件 平台:windows10,java8 在 Cordova 中设置的平台:浏览器、android
总结:
A.) 如何在 json 中通过响应来履行承诺 B.) 如果这不可能,当 JSON.parse() 不可用时如何将字符串转换为 JSON,或者如何使 JSON.parse() 在我的项目中可用?
折腾了 2 天后,我很失望,因此关闭了所有 windows、命令行等。最后我在任务管理器中关闭了 node.js 服务。一支烟之后我开始了新的尝试。说什么,JSON 现在可用,Promise 按预期工作 - 但两者仍由 Visual Studio 代码标记为 "unknown"。当我考虑这个问题时,Visual Studio Code 开始向我提供更新。我去了。
怎么说:更新有帮助,有时为您和您的机器休息一下也有助于解决问题。也许这会在未来帮助一个可怜的灵魂。