私はYMLプロパティでMap<String, Object>
を使用するが、NULL値を持つマップ内のキーを入力できるようにするための要件を持っています。例えばキーとヌル値でymlのマップを定義するにはどうすればいいですか?
:
application.ymlは
....
init-services:
sample-service-discovery:
port: 8761
profiles: dev,prod
sample-config-server:
port: 8888
profiles: dev, test
sample-activation-service:
some-other-service:
port: 1234
....
init-services
Map<String, ServiceProperties>
あります。
ServiceProperties
はInteger port, List<String> profiles
とちょうどPOJOです。
最初の2つのエントリは正常にコンパイルされますが、sample-activation-service
にはCannot convert value of type 'java.lang.String' to required type PathProperties$ServiceProperties
の例外があります。
質問:キーだけを持っていますが、null値がnullである.ymlマップにエントリを持つことを可能にする方法はありますか?その値がnullであっても、後でキーを反復処理する必要があります。
「null」のYAMLキーを持つことはできますが、それは非文字列のスカラーになります。あなたは私にterminisのcontradictioのように見える "null値の文字列キー"をしてもよろしいですか? – Anthon
私はnullキーを必要としません、私はキーのnull値が必要です。つまり、コード内にあれば、 'map.get(" sample-activation-service ")'は 'null'を返します。私の言い訳が十分に明確でない場合、私は示唆/編集に開放されています。私はそれをより明確にしようと試みて質問を編集しました。それが役に立ったら教えてください。 – maydawn
申し訳ありませんが、Javaを使用して生成する方法がわかりません。 '{null:1、True:x、x:42}'は有効なYAMLです。もちろん、マッピングのキーは一意でなければならないので、どのマッピングにも1つの 'null'キーしか持てません。 – Anthon