如何将元素从 JSONArray 添加到 QuestionnaireItemOptionComponent 列表?
How to add elements from JSONArray to QuestionnaireItemOptionComponent List?
有人可以举例说明如何在QuestionnaireItemOptionComponent 中保存String 吗?
我找不到这样做的方法。还有其他方法吗?我将选项存储在 JSONArray 中。
这就是我想要做的:
JSONArray options = rec.getJSONArray("options");
QuestionnaireItemOptionComponent test = new QuestionnaireItemOptionComponent();
List<QuestionnaireItemOptionComponent> listdata = new ArrayList<>();
if (options != null) {
for (int j=0;j<options.length();j++){
//test = options.getString(j); // String to QuestionnaireItemOptionComponent
//test.setValue(options.getString(j)) // String to QuestionnaireItemOptionComponent
listdata.add(test);
}
}
这是我想要得到的结果:
"option": [
{"valueString" : "value_1"},
{"valueString" : "value_2"},
{"valueString" : "valie_3"},
{"valueString" : "value_4"},
...
{"valueString" : "value_n"}
]
我正在使用的依赖项是:
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-structures-dstu3</artifactId>
<version>5.1.0</version>
</dependency>
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-validation-resources-dstu3</artifactId>
<version>5.1.0</version>
</dependency>
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-structures-r4</artifactId>
<version>5.1.0</version>
</dependency>
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-base</artifactId>
<version>5.1.0</version>
</dependency>
尝试:
test.addChild("valueString").setValue(options.getString(j))
好的,我找到了方法。
代码如下:
JSONArray options = rec.getJSONArray("options");
QuestionnaireItemOptionComponent questionnaire_item = new QuestionnaireItemOptionComponent();
List<QuestionnaireItemOptionComponent> questionnaire_item_list = new ArrayList<>();
StringType stringType = new StringType();
if (options != null) {
for (int j = 0; j < options.length(); j++) {
stringType.setValue(options.getString(j));
questionnaire_item.setValue(stringType);
questionnaire_item_list.add(questionnaire_item);
}
}
Questionnaire.QuestionnaireItemComponent questionnaire = new Questionnaire.QuestionnaireItemComponent();
questionnaire.setOption(questionnaire_item_list);
这是问卷中选项部分的最终结果:
"option":[
{
"valueString":"Option 1"
},
{
"valueString":"Option 2"
},
{
"valueString":"Option 3"
},
{
"valueString":"Option 4"
}
]
在使用 FHIR 时,我无法理解 Type value
背后的内容,setValue(Type value)
期望将其作为参数。此值可以是任何类型,如 StringType、IntegerType 等。
有人可以举例说明如何在QuestionnaireItemOptionComponent 中保存String 吗? 我找不到这样做的方法。还有其他方法吗?我将选项存储在 JSONArray 中。
这就是我想要做的:
JSONArray options = rec.getJSONArray("options");
QuestionnaireItemOptionComponent test = new QuestionnaireItemOptionComponent();
List<QuestionnaireItemOptionComponent> listdata = new ArrayList<>();
if (options != null) {
for (int j=0;j<options.length();j++){
//test = options.getString(j); // String to QuestionnaireItemOptionComponent
//test.setValue(options.getString(j)) // String to QuestionnaireItemOptionComponent
listdata.add(test);
}
}
这是我想要得到的结果:
"option": [
{"valueString" : "value_1"},
{"valueString" : "value_2"},
{"valueString" : "valie_3"},
{"valueString" : "value_4"},
...
{"valueString" : "value_n"}
]
我正在使用的依赖项是:
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-structures-dstu3</artifactId>
<version>5.1.0</version>
</dependency>
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-validation-resources-dstu3</artifactId>
<version>5.1.0</version>
</dependency>
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-structures-r4</artifactId>
<version>5.1.0</version>
</dependency>
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-base</artifactId>
<version>5.1.0</version>
</dependency>
尝试:
test.addChild("valueString").setValue(options.getString(j))
好的,我找到了方法。
代码如下:
JSONArray options = rec.getJSONArray("options");
QuestionnaireItemOptionComponent questionnaire_item = new QuestionnaireItemOptionComponent();
List<QuestionnaireItemOptionComponent> questionnaire_item_list = new ArrayList<>();
StringType stringType = new StringType();
if (options != null) {
for (int j = 0; j < options.length(); j++) {
stringType.setValue(options.getString(j));
questionnaire_item.setValue(stringType);
questionnaire_item_list.add(questionnaire_item);
}
}
Questionnaire.QuestionnaireItemComponent questionnaire = new Questionnaire.QuestionnaireItemComponent();
questionnaire.setOption(questionnaire_item_list);
这是问卷中选项部分的最终结果:
"option":[
{
"valueString":"Option 1"
},
{
"valueString":"Option 2"
},
{
"valueString":"Option 3"
},
{
"valueString":"Option 4"
}
]
在使用 FHIR 时,我无法理解 Type value
背后的内容,setValue(Type value)
期望将其作为参数。此值可以是任何类型,如 StringType、IntegerType 等。