- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试为Json中定义的FHIR资源创建Dart类。完整的Json schema for FHIR is here(如果有人想看)。我的问题是一个oneOf声明。具体来说,我有一个类似以下的类(尽管如果有人认为有帮助,我可以在这里不包括完整的类定义):
class Bundle_Entry {
Resource resource;
Bundle_Entry(this.resource});
factory Bundle_Entry.fromJson(Map<String, dynamic> json) => _$Bundle_EntryFromJson(json);
Map<String, dynamic> toJson() => _$Bundle_EntryToJson(this);
}
"ResourceList": {
"oneOf": [
{ "$ref": "#/definitions/Account" },
{ "$ref": "#/definitions/ActivityDefinition" },
...
]
}
{
"resourceType": "Bundle",
"type": "searchset",
"entry": [
{
"resource": {
"name": "Jaba the Hutt"
"birthDate": "1980-07-27",
"id": "b26646dd-c549-4981-834e-bb4145d104b8",
"resourceType": "Patient"
}
}
]
}
class Bundle_Entry {
dynamic resource;
Bundle_Entry({this.resource});
Bundle_Entry.fromJson(Map<String, dynamic> json) =>
Bundle_Entry(
resource: json['resource'] == null
? null
: ResourceTypes(
json['resource']['resourceType'], json['resource'] as Map<String, dynamic>)
);}
Map<String, dynamic> toJson() => _$Bundle_EntryToJson(this);
}
dynamic ResourceTypes(String type, Map<String, dynamic> json) {
if (type == 'Element') return (new Element.fromJson(json));
if (type == 'Extension') return (new Extension.fromJson(json));
if (type == 'Patient') return (new Narrative.fromJson(json));
最佳答案
我一直在尝试建立类似的东西。我使用继承来处理它,并创建了一个函数来根据ResourceType字段返回资源。
Resource getResource(json) {
if(json == null) return null;
if(json["resourceType"] == "Patient") return Patient.fromJson(json);
if(json["resourceType"]=="Procedure") return Procedure.fromJson(json);
if(json["resourceType"]=="Encounter") return Encounter.fromJson(json);
if(json["resourceType"]=="Appointment") return Appointment.fromJson(json);
if(json["resourceType"]=="Slot") return Slot.fromJson(json);
if(json["resourceType"]=="Slot") return Slot.fromJson(json);
if(json["resourceType"]=="Observation") return Observation.fromJson(json);
if(json["resourceType"]=="Condition") return Condition.fromJson(json);
if(json["resourceType"]=="DiagnosticReport") return DiagnosticReport.fromJson(json);
if(json["resourceType"]=="MedicationRequest") return MedicationRequest.fromJson(json);
if(json["resourceType"]=="CarePlan") return CarePlan.fromJson(json);
if(json["resourceType"]=="Practitioner") return Practitioner.fromJson(json);
if(json["resourceType"]=="AllergyIntolerance") return AllergyIntolerance.fromJson(json);
return Resource.fromJson(json);
}
class Entry {
String fullUrl;
Resource resource;
factory Entry.fromJson(Map<String, dynamic> json) => Entry(
fullUrl: json["fullUrl"] == null ? null : json["fullUrl"],
//This line is the magic
resource: getResource(json["resource"]),
search: json["search"] == null ? null : Search.fromJson(json["search"]),
response: json["response"] == null
? null
: Response.fromJson(json["response"]),
);
关于json - Dart/Flutter中的Json oneOf获取FHIR资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60031008/
这是builtin_owl2-rl.pie第361行 // Part 1 of cls_oo Id: cls_oo_1 c x ------------------
我正在尝试验证 PATCH为至少应具有 text 的 Todo 应用程序请求有效负载或 value属性(property)。我正在这样做 updateTodoValidators .这两个属性都是可选
如何设置 JSON Schema 规则以说明必须设置并且需要其中一个属性? 我尝试了各种方法来解决它,例如: { "id":"#", "required":true, "additi
以下是根据 http://jsonlint.com/ 的有效 JSON 模式和 http://jsonschemalint.com/draft4/# . { "$schema": "http:
我正在研究一个本体,我需要告诉 protege 一个类 x 只能具有值 y 和 z。 我想要这样的东西: Vegetable rdf:type owl:Class; owl:oneOf (car
我有一个示例 protobuf 消息: message testMessage{ oneof oneOfTest{ string test2 = 2; i
我正在使用 OpenAPISpec 文档生成 JavaClient。我使用 swagger-codegen 3.0 来生成代码。 OpenAPISpec 版本是 3.0.1。 下面是我遇到问题的 Op
在Pyparsing中,MatchFirst、Or和oneOf有什么区别 当字符串中有共享字符时 字,字,字 或(['单词','措辞','单词']) MatchFirst(['word', 'word
我想定义 PaymentMethod如下。 swagger.yaml 支持 oneOf 吗? PaymentMethod: oneOf: - $ref: '#/defini
是否可以使用 PropTypes.oneOf强制存在特定类型或字符串文字? 例子: display: PropTypes.oneOf([PropTypes.bool, 'autohide']), 或者
我收到以下规范的错误Data does not match any schemas from 'oneOf': { "info": { "version": "1.0.0", "t
我在 react 中指定“enum”类型的属性时遇到问题。根据此处的文档 React multiple components 以下代码片段应该有效: position : React.PropType
我正在创建一个复杂的 JSON 架构,但在验证“oneOf”构造时遇到问题。 我使用“oneOf”创建了一个非常简单的架构和一个简单的 JSON 文件来演示该问题。 JSON 架构: { "$sc
使用 swagger 在线编辑器遇到以下错误数据与“oneOf”中的任何架构都不匹配 '/tenants/tenant_id/groups/group_id': get: description:
有没有办法为 json 模式(tv4)设置自定义消息,以便在 oneOf 失败时 field ? 我看到大约一年前为自定义消息打开了一个问题 here和 here但是有没有办法让这项工作适用于这样的事
我正在创建一个复杂的 JSON 架构,但在验证“oneOf”构造时遇到问题。 我使用“oneOf”创建了一个非常简单的架构和一个简单的 JSON 文件来演示该问题。 JSON 架构: { "$sc
对于下面的 Protocol Buffer 消息(proto3),我如何确定设置了哪种类型?似乎没有像生成的 C++ 版本那样的“has_reply”方法。 message Event { one
Proto3 支持 oneof 功能,您可以在一条消息中包含多个字段,并且最多同时设置一个字段。 由于一次会设置一个字段,因此原型(prototype)模式中存在重复的字段名称是合理的。问题是原型(p
注意 - 使用可变参数,Phix 在下面提供了一个 super 解决方案。但是,它会在与整数一起使用时给出编译器警告,因为您将它们转换为 id,并且它不适用于例如 float 。 问题——如何编写一个
几个小时后,我仍然无法在 C++ 中使用反射在清晰(刚刚创建的)protobuf 消息中设置 oneof 字段。 我可以获得所需的OneOfDescriptor通过Descriptor的消息。但是当我
我是一名优秀的程序员,十分优秀!