- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试反序列化我的 JSON 以使用库 json2typescript
在 typescript 中进行转换但我有以下错误:
Error: Fatal error in JsonConvert. Failed to map the JSON object to the class "typeGeneral" because the defined JSON property "type" does not exist:
Class property:
_type
JSON property:
type
return this.http.get<Type>(this.applicationApiUrl + "/app", this.httpOptions)
.pipe(retry(1), catchError(this.handleError));
}
import {JsonObject, JsonProperty} from "json2typescript";
@JsonObject("app")
export class App {
constructor(id: number, title: string, url: any, details: string, type: string, visible: boolean, imgApp: any, kazanUrl: any, favorite: boolean) {
this._id = id;
this._title = title;
this._url = url;
this._details = details;
this._type = type;
this._visible = visible;
this._imgApp = imgApp;
this._kazanUrl = kazanUrl;
this._favorite = favorite;
}
private _id: number = null;
@JsonProperty("title", String)
private _title: string = undefined;
@JsonProperty("url")
private _url: any = undefined;
@JsonProperty("details", String)
private _details: string = undefined;
@JsonProperty("type", String)
private _type: string = "";
@JsonProperty("visible", Boolean)
private _visible: boolean = false;
@JsonProperty("imgApp")
private _imgApp: any = undefined;
@JsonProperty("kazanUrl")
private _kazanUrl: any = undefined;
@JsonProperty("favorite", Boolean)
private _favorite: boolean;
get id(): number {
return this._id;
}
set id(value: number) {
this._id = value;
}
get title(): string {
return this._title;
}
set title(value: string) {
this._title = value;
}
get url(): any {
return this._url;
}
set url(value: any) {
this._url = value;
}
get details(): string {
return this._details;
}
set details(value: string) {
this._details = value;
}
get type(): string {
return this._type;
}
set type(value: string) {
this._type = value;
}
get visible(): boolean {
return this._visible;
}
set visible(value: boolean) {
this._visible = value;
}
get imgApp(): any {
return this._imgApp;
}
set imgApp(value: any) {
this._imgApp = value;
}
get kazanUrl(): any {
return this._kazanUrl;
}
set kazanUrl(value: any) {
this._kazanUrl = value;
}
get favorite(): boolean {
return this._favorite;
}
set favorite(value: boolean) {
this._favorite = value;
}
}
@JsonObject("typeGeneral")
export class Type {
private _id: number = null;
@JsonProperty("type", String) private _type: string = "";
@JsonProperty("details", String) private _details: string = undefined;
@JsonProperty("visible", Boolean) private _visible: boolean = null;
@JsonProperty("app", [App]) private _app: [App] = undefined;
get app(): any {
return this._app;
}
set app(value: any) {
this._app = value;
}
get id(): number {
return this._id;
}
set id(value: number) {
this._id = value;
}
get type(): string {
return this._type;
}
set type(value: string) {
this._type = value;
}
get details(): string {
return this._details;
}
set details(value: string) {
this._details = value;
}
get visible(): boolean {
return this._visible;
}
set visible(value: boolean) {
this._visible = value;
}
}
loadApplications() {
return this.restApi.getApplications()
.subscribe((data: {}) => {
console.log(data)
let jsonStr: string = JSON.stringify(data);
const jsonObjApp: any = JSON.parse(jsonStr);
let jsonConvert: JsonConvert = new JsonConvert();
jsonConvert.operationMode = OperationMode.LOGGING;
jsonConvert.ignorePrimitiveChecks = false;
jsonConvert.valueCheckingMode = ValueCheckingMode.DISALLOW_NULL;
console.log(jsonObjApp)
try {
let a: Type[] = jsonConvert.deserializeArray(jsonObjApp, Type);
} catch (e) {
console.log((<Error>e))
}
});
[
{
"typeGeneral":[
{
"id":1,
"type":"Monitoring",
"details":"Ceci est un type Monitoring",
"visible":true
},
{
"id":2,
"type":"Check service",
"details":"Ceci est un type Check Service",
"visible":false
},
{
"app":[
{
"id":1,
"type":"Monitoring",
"visible":false,
"imgApp":"http://google.fr",
"details":"Lorem ipsum dolor",
"kazanUrl":"http://google.fr",
"favorite":false,
"title":"Monitoring app",
"url":"http://google.fr"
},
{
"id":2,
"type":"Check Service",
"visible":true,
"imgApp":"http://google.fr",
"details":"Lorem ipsum dolor",
"kazanUrl":"http://google.fr",
"favorite":true,
"title":"Services app",
"url":"http://google.fr"
}
]
}
]
}
]
最佳答案
@JsonProperty
可能有3个参数。您需要将第三个设置为 true
.@JsonProperty("title", String, true)
第三个参数告诉属性是否可以是可选的。 [https://www.npmjs.com/package/json2typescript]
您可以通过从 json2typescript 包中导入 Any 来使用它。import {JsonObject, JsonProperty, Any} from "json2typescript";
@JsonProperty("url", Any, true)
关于arrays - 通过 json2typescript 反序列化 json 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57289515/
我正在阅读 Python 文档以真正深入了解 Python 语言,并遇到了 filter 和 map 函数。我以前使用过过滤器,但从未使用过映射,尽管我在 SO 上的各种 Python 问题中都见过这
当我尝试打印 BST 的级别顺序时,这个问题提示了我。 这是一个 Pre-Order Sequence: 4, 1, 2, 3, 5, 6, 7, 8 In_order Sequence : 1, 2
我的代码在 main(序列测试;)的第一行出现错误,指出它是对 sequence::sequence() 的 undefined reference 。我无法更改 main 中的代码。有谁知道我该如何
这可能很简单,但我在通常的 latex 指南中找不到任何相关内容。在这句话中: {\em hello\/} “\/”的目的是什么? 最佳答案 这就是所谓的斜体校正。其目的是确保斜体文本后有适当的间距。
当我从 Postgresql 表中删除所有记录,然后尝试重置序列以在插入时开始一个编号为 1 的新记录时,我得到不同的结果: SELECT setval('tblname_id_seq', (SELE
在版本10.0.3中,MariaDB引入了一种称为序列的存储引擎。 其ad hoc为操作生成整数序列,然后终止。 该序列包含正整数,以降序或升序排列,并使用起始,结束和递增值。 它不允许在多个查询中
如何在 Groovy 中获取给定数字的序列,例如: def number = 169 // need a method in groovy to find the consecutive number
基本上,如果这是 .NET,它看起来像这样: ISomething { string A { get; } int B { get; } } var somethings = new List
说以下代码部分(同一块): A <= 1 A <= 2 变量 A 总是被赋值为 2 吗?还是会出现竞争条件并分配 1 或 2? 我对非阻塞赋值的理解是,由硬件在 future 分配变量 A,因此它可能
在运行 WiX 设置时,我正在寻找操作列表及其顺序。不知何故,官方网站似乎没有提供任何信息。 基本问题是我想正确安排我的自定义操作。通常我需要使用 regsvr32.exe 注册一个 DLL,而这只能
F#初学者在这里 我想创建一个类型,它是具有至少一个元素的另一种具体类型(事件)的序列。任何其他元素都可以在以后随时添加。通常在 C# 中,我会创建一个具有私有(private) List 和公共(p
作为构建过程和不断发展的数据库的一部分,我试图创建一个脚本,该脚本将删除用户的所有表和序列。我不想重新创建用户,因为这将需要比所允许的更多的权限。 我的脚本创建了一个过程来删除表/序列,执行该过程,然
我想恢复两个向量的第一个日期和相同向量的第二个日期之间的日期序列,.... 这是一个例子: dates1 = as.Date(c('2015-10-01', '2015-03-27', '2015-0
这个问题已经有答案了: sql ORDER BY multiple values in specific order? (12 个回答) 已关闭 9 年前。 我有一个 sql 语句,我想要ORDER
我想恢复两个向量的第一个日期和相同向量的第二个日期之间的日期序列,.... 这是一个例子: dates1 = as.Date(c('2015-10-01', '2015-03-27', '2015-0
在用java编写代码时,我需要用“],[”分割字符串。下面是我的代码。 try (BufferedReader reader = new BufferedReader(new InputStreamR
这个问题已经有答案了: Project Euler Question 14 (Collatz Problem) (8 个回答) 已关闭 9 年前。 我正在尝试查找数字的 Collatz 序列。以下
我有一个例程函数process_letter_location(const char& c, string &word)。 在我的 main 中,我声明了一系列字符串变量,如下所示: string s
我需要找到最长的多米诺骨牌链,给定一组 12 个随机挑选的多米诺骨牌。我已经递归地生成了多米诺骨牌的所有可能性(使用 0 到 12 的面值有 91 种可能性)。多米诺骨牌由一 block “砖 blo
我有这个数据结构 Seq,它继承了类 vector 但有一些额外的功能。使用这个数据结构 Seq 我有这个预定义的数据结构: typedef Seq > MxInt2d; 我现在想要一个包含多个 Mx
我是一名优秀的程序员,十分优秀!