Java tutorial
/* * Copyright (c) 2014 Baidu.com, Inc. All Rights Reserved * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the * specific language governing permissions and limitations under the License. */ package com.baidubce.services.moladb.model.transform; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import com.baidubce.BceClientException; import com.baidubce.services.moladb.model.AttributeValue; import com.fasterxml.jackson.databind.JsonNode; public class AttributeValueMapUnmarshaller implements Unmarshaller<Map<String, AttributeValue>, JsonNode> { @Override public Map<String, AttributeValue> unmarshall(JsonNode jsonObj) throws Exception { if (!jsonObj.isObject()) { throw new BceClientException("input json:" + jsonObj.toString() + " is invalid"); } Map<String, AttributeValue> ret = new HashMap<String, AttributeValue>(); Iterator<String> attrs = jsonObj.fieldNames(); while (attrs.hasNext()) { String attrName = attrs.next(); AttributeValueUnmarshaller attrUnmarshaller = new AttributeValueUnmarshaller(); AttributeValue value = attrUnmarshaller.unmarshall(jsonObj.get(attrName)); ret.put(attrName, value); } return ret; } }