[英]Javascript JSON custom deserialisation
我正在使用C#应用程序,其中使用的数据类如下所示:
class Node {
public string name;
public int id;
public Node parent;
public Node[] children;
public Data data;
}
class Community {
public Node[] nodes;
}
class Data {
public string info;
public int value;
}
我在javascript中声明了这些对象:
var Node = {
name: '',
id: '',,
parent: '',
children: '',
data: ''
}
var Community = {
nodes: ''
}
var Data = {
info: '',
value: ''
}
这些显然是实际交易的简化版本,但是我想知道如何告诉javascript JSON反序列化器使用我声明的对象正确构建字段。
为此,我需要进行某种类型的CMS,因此即使所有键都没有值,所有键都可用非常重要,这就是为什么我要声明对象并让反序列化器使用它们。
例如,即使没有在JSON文件中设置,我也希望能够访问Community.nodes[3].data.info
。
很多人(包括Microsoft ASP.NET)都使用NuGet包Json.NET。
JsonSerializer
类提供了有关如何序列化对象的大量定制。
但是,要访问诸如Community.people[3].job.salary
类的深层嵌套字段,您必须在访问最后一个字段之前确保没有空嵌套对象。
在您的示例中,您可能希望将Person.Job
设置为默认值,或在Person的构造函数中传递Job
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.