現在、このVCAP_SERVICESをjavaオブジェクトに解析する際に問題が発生しています。 POJOを構造化してjson文字列の値をマップできるようにする方法はよくわかりません。誰かが私のpojoを構造化してjsonの文字列と整列するのを助けてくれますか?jacksonを使ってJSON StringをJavaオブジェクトに解析する方法は?
両方の資格情報のオブジェクトを作成したいと思います。accessToken ... jdbcurl。
VCAP_SERVICES
"VCAP_SERVICES": {
"user-provided": [
{
"credentials": {
"accessTokenUri": "tokenurl",
"apiUrl": "apiurl",
"clientId": "typeofID",
"clientSecret": "secretAf",
"scope": "none"
},
"syslog_drain_url": "",
"volume_mounts": [],
"label": "user-provided",
"name": "OAuth2",
"tags": []
},
{
"credentials": {
"jdbcUrl": "jdbc:oracle:connection[host]:[port]/service",
"spring.datasource.driver-class-name": "oracle.jdbc.OracleDriver",
"spring.datasource.initialize": "false"
},
"syslog_drain_url": "",
"volume_mounts": [],
"label": "user-provided",
"name": "Database",
"tags": []
}
]
Javaクラス
ObjectMapper mapper = new ObjectMapper();
//json String to Object
CupsProperties properties = mapper.readValue(VCAP_Services, CupsProperties.class);
System.out.println(properties.getJdbcUrl() + "!!!!!!!!!!!!!!!!!!!");
のPOJO
public class UserProviderWrapper {
@JsonProperty("user-provided")
public List<CupsProperties> cupsProperties;
@JsonProperty("syslog_drain_url")
public String syslog_drain_url;
@JsonProperty("volume_mounts")
public List<String> volume_mounts;
@JsonProperty("label")
public String label;
@JsonProperty("name")
public String name;
@JsonProperty("tags")
public List<String> tags;
//getters and setters
public class CupsProperties {
@JsonProperty("jdbcUrl")
public String jdbcUrl;
@JsonProperty("spring.datasource.driver-class-name")
public String driver;
@JsonProperty("spring.datasource.initialize")
public String initialize;
//getters and setters
のEr ROR
認識できないフィールド "ユーザ提供"(クラスrest.springframework.model.CupsProperties)、無視としてマークされていない(2つの既知の特性: "jdbcUrlと"、 "データソース"])[ソースで :{ "ユーザ"{" "credentials":{"jdbcUrl": "jdbc:oracle:thin:user/pass // host:port/service"、 "spring.datasource.driver-class-name": "oracle.jdbc 「ユーザー」、「名前」、「Oracle」、「Oracle」、「Oracle」、「Oracle」、「Oracle」、「Oracle」、「Oracle」、「Oracle」、「Oracle」、「Oracle」、「Oracle」、「Oracle」、「Oracle」、「Oracle」、「Oracle」、タグ ":[]}]};
JsonProperty:http://www.baeldung.com/jackson-annotations#highlighter_520754 –
あなただけのJSONのうちの特定のフィールドを解析またはJavaをミラーリングする全体JSONに変換したいです階層オブジェクト? – yogidilip
@yogidilip私は個人的には、jsonから特定のフィールドを欲しいだけです。私は試してきたし、ガイドに従っている。私はちょうど "資格"の中の値を入れたい – Jesse