package com.alibaba.json.bvt.bug;
import java.util.Map;
import org.junit.Assert;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import junit.framework.TestCase;
public class Bug_for_issue_491 extends TestCase {
public void test_for_issue() throws Exception {
String json = "{id:1,keyword:[{uuid:\"ddd\"},{uuid:\"zzz\"}]}";
Map<String, String> map = getJsonToMap1(json, String.class);
Assert.assertEquals("1", map.get("id"));
}
public void test_for_issue_2() throws Exception {
String json = "{1:{name:\"ddd\"},2:{name:\"zzz\"}}";
Map<Integer, Model> map = getJsonToMap(json, Integer.class, Model.class);
Assert.assertEquals("ddd", map.get(1).name);
Assert.assertEquals("zzz", map.get(2).name);
}
public static class Model {
public String name;
}
public static <V> Map<String, V> getJsonToMap1(String json, Class<V> valueType) {
return JSON.parseObject(json, new TypeReference<Map<String, V>>(valueType) {});
}
public static <K, V> Map<K, V> getJsonToMap(String json, Class<K> keyType, Class<V> valueType) {
return JSON.parseObject(json, new TypeReference<Map<K, V>>(keyType, valueType) {});
}
}