[英]Cannot deserialize the current JSON object (e.g. {“name”:“value”}) into type 'System.Collections.Generic.List`1'
[英]Cannot deserialize the current JSON object (e.g. {“name”:“value”}) into type 'System.Collections.Generic.ICollection`1[System.Double]'
正如我在上面发布的那样,我无法实现。 我不确定该如何实现,因为我在前端很新。 起初,我发布了示例后端JSON文件(我在borderPoints变量上遇到了问题,在我添加它之前,一切正常。)
{
city: "Warszawa",
id: "b7e476a5-5894-4510-9630-637ac3a2191d",
name: "Test",
parcels: [{
id: "b7e476a5-5894-4510-9630-637ac3a2191d",
latitude: 0,
longitude: 0,
"borderCoordinates": [
[
0,
0
],
[
1,
1
],
[
1,
0
]
], }], }
我在下面发布一些重要的代码部分。
land.model.ts:
...
export class LocationPoint {
public latitude: number;
public longitude: number;
}
export class LocationPointDto {
public latitude: number;
public longitude: number;
}
export class Land {
...
public id: Guid;
public borderCoordinates: LocationPoint[];
}
export class LandDto {
...
public id: string;
public borderCoordinates: LocationPoint[];
constructor(
...
id: string,
borderCoordinates: LocationPoint[]
) {
...
this.id = id;
this.borderCoordinates = borderCoordinates;
}
}
...
land.module.ts
...
export function initializeMappings(mappingService: MappingService): any {
return (): void => {
mappingService.addMapping(LocationPoint, LocationPointDto, new BorderCoordinatesMapper());
mappingService.addMapping(Land, LandDto, new LandMapper());
...
土地建设者
...
public withborderCoordinates(borderCoordinates: LocationPoint[]): LandBuilder {
this.instance.borderCoordinates = borderCoordinates;
return this;
}
...
土地图
...
export class BorderCoordinatesMapper implements Mapper<LocationPoint, LocationPointDto> {
public forwardTransform(locationPoint: LocationPoint): LocationPointDto {
return {
latitude: locationPoint.latitude,
longitude: locationPoint.longitude
};
}
public backwardTransform(locationPointDto: LocationPointDto): LocationPoint {
return {
latitude: locationPointDto.latitude,
longitude: locationPointDto.longitude
};
}
}
export class LandMapper implements Mapper<Land, LandDto> {
public forwardTransform(land: Land, mappingService: MappingService): LandDto {
return {
id: land.id.toString(),
borderCoordinates: { [key: string]: land.borderCoordinates}
? land.borderCoordinates.map(p => mappingService.map(LocationPoint, LocationPointDto, p))
: []
};
}
public backwardTransform(land: LandDto, mappingService: MappingService): Land {
return {
id: Guid.parse(land.id),
borderCoordinates: land.borderCoordinates
? land.borderCoordinates.map(p => mappingService.map(LocationPointDto, LocationPoint, p))
: []
};
}
}
...
在您的json中尝试一下:
"borderCoordinates": [
{
"latitude": 0,
"longitude"0
},
{
"latitude": 1,
"longitude": 1
},
{
"latitude": 1,
"longitude": 0
}
]
我仍然没有找到解决我问题的方法……这很可悲。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.