首页 > 解决方案 > 将json转换为scala后如何从json中获取价值?

问题描述

我有一个json格式的数据

{
  "featureList": {
    "whitelist-1": {
      "description": "whitelist 1",
      "whitelistedIdWithReasons": [
        {
          "accountIdRuleName": "611319436983:bud_connection_state",
          "reason": "bud_connection_state is a bad rule"
        },
        {
          "accountIdRuleName": "116958421622:PublishToDynamo",
          "reason": "PublishToDynamo is a bad rule"
        }
      ]
    }
  }
}

我想把它转换成scala,我有一个这样的ADT模板

case class FeatureWhitelistingConfig(
     @JsonProperty("featureList") featureList: java.util.Map[String, Feature]
 )

 case class Feature(
     @JsonProperty("description") description: String,
     @JsonProperty("whitelistedIdWithReasons") whitelistedIdWithReasons: java.util.List[
       WhiteListedIdWithReason
     ]
 )

 case class WhiteListedIdWithReason(
     @JsonProperty("accountIdRuleName") accountIdRuleName: String,
     @JsonProperty("reason") reason: String
 )

我怎样才能从中获得“accountIdRuleName”?featureList.get("whitelist-1"),接下来应该做什么?

标签: scalajackson-databind

解决方案


推荐阅读