如何使用JSONDeserializer反序列化此字符串?

时间:2011-08-17 12:39:50

标签: java json

我有如下字符串:

    {"226167":"myshow","3193":"yourshow"}

如何使用JSONDeserializer从上面的字符串对象中提取(226167,3193)?

我可能希望从上面的字符串中得到一个列表(226167,3193,...)。我使用的是flexjason 1.9.2,它没有jsonObject类。

1 个答案:

答案 0 :(得分:0)

使用jackson JSON库的ObjectMapper类反序列化为Map,然后获取keySet():

必需导入:

import org.codehaus.jackson.map.ObjectMapper;

示例:

public void readValueAsMap() throws Exception
{
    String value = "{\"226167\":\"myshow\",\"3193\":\"yourshow\"}";
    ObjectMapper mapper = new ObjectMapper();
    Map<String,String> valueAsMap = mapper.readValue(value, Map.class);
    Collection<String> values = valueAsMap.keySet();
    assertTrue(values.contains("226167"));
    assertTrue(values.contains("3193"));
}