我在Key:value或 countryCode : countryName 对
中提供服务服务->
{"BD": "Bangladesh", "BE": "Belgium", "BF": "Burkina Faso", "BG": "Bulgaria", "BA": "Bosnia and Herzegovina", "BB": "Barbados", "WF": "Wallis and Futuna", "BL": "Saint Barthelemy", "BM": "Bermuda", "BN": "Brunei", "BO": "Bolivia", "BH": "Bahrain", "BI": "Burundi", "BJ": "Benin", "BT": "Bhutan", "JM": "Jamaica"}
我已经创建了一个接口来从服务中获取价值
界面
export interface IcounrtyCode {
code: string;
country: string;
}
这可能在以我想要的方式接收值时造成问题
如果您在编写 console.log(this.counrtyCode)时看到了我的回应, 它显示为->
AD:“安道尔” AE:“阿拉伯联合酋长国” AF:“阿富汗” AG:“安提瓜和巴布达” AI:“安圭拉” AL:“阿尔巴尼亚”
其中AD是关键,而Andorra是值。 也许我可以按照以下方式更改回复。 {[code:“ AD”,country:“ country”]},然后我可以用自己的方式捕获响应,但是我尝试这样做 我该怎么做..?
答案 0 :(得分:1)
您可能想创建一种“字典”界面
interface Dict {
[key: string]: string;
}
您应该能够对此做出回应。
您遇到的问题是,您试图将对象映射到IcounrtyCode
接口,但是从服务返回的json的形状不正确。
它将需要类似于以下内容:
{["code": "BD", "country":"Bangladesh"]}
如果您可以控制服务器代码,建议将服务器响应更改为正确的json格式。
答案 1 :(得分:-1)
尽管有些错误跟踪将很有用。但我想您可以尝试按以下格式设置数据格式。
@Injectable()
export class DataService {
getData():IcounrtyCode[]{
return [{code:"BD",country: "Bangladesh"}, {code:"BE", country:"Belgium"}]
}
}
export interface IcounrtyCode {
code: string;
country: string;
}